Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
본문으로 이동

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]

각주

[편집]
  1. Landin, P. J. (January 1964). “The Mechanical Evaluation of Expressions”. 《Comput. J.6 (4): 308–320. doi:10.1093/comjnl/6.4.308. 
  2. Henderson, Peter (1980). 《Functional programming: application and implementation》. Englewood Cliffs, N.J.: Prentice-Hall International. ISBN 0-13-331579-7. 
  3. Padget, Julian. “Three uncommon Lisps”. CiteSeerX 10.1.1.99.1028. 
  4. A paper on the design, SECD: DESIGN ISSUES is available.

외부 링크

[편집]