Scheme風言語
HaskellでScheme風な言語のインタープリタを書いている。書き始めたのは2週間以上前から。Schemeは構文が単純だし,R5RSも読んだことあるから他の言語に比べて書きやすいだろうと思ったが,実際に書いてみると色々と壁にぶつかりまくり。とりえあず,
- 入出力は無し
- valuesはとりあえず考えない
- 速度も考えない
- 数は整数のみ
- マクロって何?
- 継続はがんばってみる
というような感じで書いてます。今後もどんどん制限は増えるとは思うができる範囲でやっていこう。
ちなみに,現在の状態は,if式,lambda式,関数適用と四則演算の評価ができる(一応)。ここ最近は字句解析器と構文解析器を書いている。両解析器の記述は,武市正人氏の『プログラミング言語』に載ってる方法を用いてます*1。
*1:元ネタはこれっぽい。http://www.cs.nott.ac.uk/~gmh/parsing.pdf