Key points are not available for this paper at this time.
Smalltalk-80(이하 Smalltalk로 언급)는 가장 생산적인 프로그래밍 언어/환경 중 하나로, 응용 프로그램 프로토타입 개발에 매우 적합하지만, 응용 프로그램이 Smalltalk 환경과 독립적으로 실행될 수 없거나 다른 언어로 작성된 다른 프로그램과 결합될 수 없기 때문에 응용 프로그램 배포에는 그다지 적합하지 않습니다. Smalltalk를 응용 프로그램 배포에 적합하게 만드는 한 가지 방법은 Smalltalk를 C와 같은 컴파일러 언어로 변환하는 것입니다. Smalltalk 코드를 휴대가 가능하고 상호 운용 가능한 C 코드로 변환함으로써, Smalltalk 응용 프로그램의 독립 실행형 버전을 배포하고, 응용 프로그램을 부분적으로 Smalltalk로, 부분적으로 C로 개발하는 것이 가능합니다. 그러나 Smalltalk 코드를 C 코드로 변환하는 데는 몇 가지 어려움이 있습니다. 첫째, 객체로서 활성화 기록을 생성하는 Smalltalk의 실행 모델은 C의 실행 모델과 매우 다르며, 둘째, Smalltalk와 C는 저장소 관리에 대해 매우 다른 접근 방식을 가지고 있습니다. 우리는 Smalltalk를 C로 변환하는 SPiCE라는 시스템을 구현했습니다. 우리의 변환 접근 방식은 Smalltalk 실행 모델의 본질적인 부분인 Smalltalk 클래스와 동일한 기능을 구현하는 런타임 대체 클래스를 생성하고, 언어 지원 없이 작동하는 반보수적인 실시간 컴팩트 가비지 컬렉션을 제공하는 것입니다.
Yasumatsu 외(선)가 이 질문을 연구했습니다.