SECD-Maschine

Die SECD-Maschine ist eine virtuelle Maschine, die als Zielarchitektur für Compiler funktionaler Programmiersprachen gedacht ist. Die Buchstaben stehen für Stack, Environment, Control, Dump, welches die internen Register der Maschine sind. Diese Register enthalten Zeiger auf Listen im Speicher.

Die SECD-Maschine war die erste virtuelle Maschine, die ausdrücklich dazu entworfen wurde, Ausdrücke des Lambda-Kalküls auszuwerten. Sie wurde ursprünglich im Jahr 1963 von Peter J. Landin als Teil der Definition seiner Programmiersprache ISWIM beschrieben. Die von Landin publizierte Beschreibung war ziemlich abstrakt und ließ viele Implementierungsentscheidungen offen, wie zum Beispiel die Frage einer operationalen Semantik. Deshalb wird die SECD-Maschine oft auch in detaillierterer Form vorgestellt, wie zum Beispiel in Peter Hendersons Lispkit-LISP-Compiler, der seit 1980 verteilt wird. Sie wird auch als Zielarchitektur für verschiedene andere experimentelle Compiler verwendet.

Im Jahr 1989 arbeiteten Forscher an der University of Calgary an einer Hardware-Implementierung der Maschine.

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.