2016-01-01から1年間の記事一覧

UnlambdaでVMを実装する(後編)

Esolang Advent Calendar 2016 3日目の記事です。 今回は、前編で説明したデータ構造を使って、どうやってEsolang VMの実行をシミュレートするUnlambdaプログラムを構成するかを解説します。 実装方針 VMの状態 命令の実行 メインループ ELVMバックエンドの…

UnlambdaでVMを実装する(前編)

Esolang Advent Calendar 2016 2日目の記事です。 ELVMにUnlambdaバックエンドを実装して、C言語のプログラムをUnlambdaに変換できるようにした話です。ちょっと長くなったので2回に分けました。 Unlambdaとは ELVMとは Unlambdaでデータ構造を表現する ペア…

EsoLang vi

https://github.com/irori/elvi BrainfuckやUnlambdaで動くvi風エディタができました。 Jody Bruchon氏のviクローンを元にELVMでコンパイルできるようにしたものです。 標準入出力しか使えないのでファイルの読み込み・保存はできません。コマンドも最小限し…

8cc.unl

Unlambdaで動くCコンパイラができました。 https://github.com/irori/8cc.unl id:shinichiro_hさんのbflispで使われている改造版8ccのアセンブリ出力からUnlambdaへのトランスレータです。 これで同一のCプログラムをBrainfuckとUnlambdaの両方で動かせます…

BfLazyK

Lazy K のオリジナルの配布物には bf2lazy.c というファイルが含まれていて Brainfuck プログラムを Lazy K にコンパイルできるのですが、逆に Brainfuck で Lazy K のプログラムを動かす方法はこれまで存在しませんでした。Lazy K で Brainfuck の配列のよ…