技術

6.1. 第6章のまえがき

LLVMによるプログラミング言語の実装チュートリアル日本語訳
第6章 万華鏡: 言語の拡張: ユーザ定義演算子
第1節 第6章のまえがき

“LLVMによるプログラミング言語の実装”チュートリアルの第6章へようこそ。
この時点で我々は、かなり小さいながらも完全な関数型言語を持ってることになる。
しかしまだ、大きな問題がひとつある。
我々の言語は、便利な演算子をほとんど持っていない。(除算や、論理否定や、<以外の比較演算子など) 訳注: if/then/elseやforは式だし、トップレベルの式は全て匿名関数だし、この時点では関数の引数やループ変数を除いて変数は宣言出来ないし、変数への代入はサポートされていないので、確かにこの時点では完全な関数型言語かもしれない。
また、演算子の例で”<以外"となってるのはすでに"<"演算子は万華鏡にビルトインで定義されているから。

この章では、荒っぽい余談(wild digression)となるが、シンプルで”美しい”万華鏡言語にユーザ定義の演算子を追加する。
この余談によって、言語がいくつかの面でシンプルで”醜い”ものになってしまうかもしれないが、それと同時にパワフルさも得るだろう。
自分自身の言語を作るということについて素晴らしいのは、何が良くて、何が悪いのかを自分自身で決定出来るという点にある。
この章において、いくつかの興味深い構文解析テクニックを示す方法として、ユーザ定義演算子を話題にするのも悪くないと考えている。

この章の最後には、マンデルブロ集合を描画する万華鏡アプリを実行する。

コメントを残す

メールアドレスが公開されることはありません。



※画像をクリックして別の画像を表示