ちょっと草植えときますね型言語 Grass _, ._ ( ・ω・) んも〜 ○={=}〇, |:::::::::\, ', ´ 、、、、し 、、、(((.@)wvwwWWwvwwWwwvwwwwWWWwwWw wWWWWWWwwwwWwwvwWWwWwwvwWWW 作ってみたwwwww とりあえず公開wwwwwwwっうぇ つ 日本語 Implementations Interpreters Interpreter written in Standard ML (accept US-ASCII only) by UENO Katsuhiro Interpreter written in Ruby by UENO Katsuhiro Interpreter written in NicoScript Interpreter written in Prolog by zick Interpre
SECDマシンとは、関数型言語のコンパイラのターゲット(目的機械)を意図し、後に大きな影響を与えた抽象機械である。SECD は Stack(スタック)、Environment(環境)、Code(コード)、Dump(ダンプ)の略であり、それぞれ仮想機械にあるレジスタの名称となっている。これらのレジスタはメモリ上の連結リストを指している。 Peter J. Landinの考案によるもので、1964年のComputer Journal誌が初出である。ラムダ計算式を評価するものだが、Landin の発表した説明は非常に抽象的で、(操作的意味論のように)実装にかなりの自由度が与えられていた。SECDマシンはより詳細化された形態で説明されることが多く、例えば Peter Henderson の Lispkit Lisp コンパイラは SECDマシンをベースとして1980年に登場している。以降、いくつか
SECD is an extremly simple virtual machine for functional programming. This package provides a collection of different SECD implementations. All they follow the wonderful book: Peter Henderson, "Functional Programming: Application and Implementation", 1980, Prentice Hall This package is useful for educational purposes or as a starting point for LISP implementation. The last machines from the packa
_, ._ ( ・ω・) んも〜 ○={=}〇, |:::::::::\, ', ´ 、、、、し 、、、(((.@)wvwwWWwvwwWwwvwwwwWWWwwWw wWWWWWWwwwwWwwvwWWwWwwvwWWW 作ってみたwwwww とりあえず公開wwwwwwwっうぇ 日本語版はてきとーです.きっと英語版のほうが詳しいです. 実装 インタプリタ Interpreter written in Standard ML (accept US-ASCII only) by UENO Katsuhiro Interpreter written in Ruby by UENO Katsuhiro Interpreter written in ニコスクリプト Interpreter written in Prolog by zick Interpreter written in Java b
今回はSECD ManiaのMini_0 SECDマシンのjavascript版です。 このマシンは Henderson を継承しています。 オリジナルの Henderson コンパイラはただ1つだけ 算術構文を使っています - (ADD (QUOTE 1) x)。 1. SECDからすべての算術コードを削除し、 INC コードを追加しました。: INC (x s) e c d --> (x+1 s) e c d2. INTEGER 命令を追加しました。 3. コンパイラを以下のような式が通るように変更しました。 (quote 7) の代わりに 7 (quote nil) の代わりに nil4. compiler.lisp と compiler.secd の全テキストを大文字から小文字に変更しました。 ソース セルフコンパイルサンプル javascript版セルフコンパイルサンプル
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く