「SECDマシン」の版間の差分

削除された内容 追加された内容
Loveless (会話 | 投稿記録)
m ロボットによる 追加: de:SECD-Maschine
Alexbot (会話 | 投稿記録)
m ロボットによる: 細部の編集
5行目:
[[1989年]]、[[カルガリー大学]]の研究者がSECDマシンをハードウェアで実装する研究を行った。
 
== レジスタとメモリ ==
SECDマシンは[[スタック]]ベースであり、関数(組み込み関数とユーザー定義関数)はスタックから引数を取り出す。一方、[[機械語|命令]]のオペランドは命令形式に含まれている。
 
34行目:
なお、cdr がリストを指すというのは説明を簡単にするための言い方であって、必ずしもそのような制限があるわけではない。car も cdr もアトムであるような形式も可能で、これを "(1 . 2)" などと表記する。
 
== 命令 ==
 
* '''nil''': nilポインタをスタックにプッシュ
49行目:
car、cdr、リスト構築、整数の加算、入出力といった基本的な関数も命令として存在する。これらは必要な引数をスタックから得る。
 
== 参考文献 ==
 
*Peter M. Kogge: ''The Architecture of Symbolic Computers''. ISBN 0-07-035596-7
56行目:
*Olivier Danvy: ''A Rational Deconstruction of Landin's SECD Machine''. BRICS research report RS-04-30, 2004. ISSN 0909-0878
 
== 外部リンク ==
*[http://skelet.ludost.net/sec/ SECD collection]
<!-- 見当たらないのでコメントアウト *[http://www3.oup.co.uk/computer_journal/hdb/Volume_06/Issue_04/060308.sgm.abs.html Original SECD paper], "The Mechanical evaluation of Expressions" P.J. Landin The Computer Journal Vol. 6 pp308-320 1964 -->
 
{{DEFAULTSORT:SECDましん}}
 
[[Category:関数型プログラミング]]
[[Category:仮想機械]]