パターンマッチ実装奮闘記(2)
前回は、簡単なパターンマッチを実装するのにLLVMを使う事にする事を考え、具体的なコードも書いてみました。
今回はどうやってLLVMにコンパイル出来るようになるかを考えます。 開発方針を決める事で、見通しが良くなるはずです。
コンパイラの作成段階
何も無い所からいきなりパターンマッチの機能を作る事は出来ません。 段階を踏んで、パターンマッチを作る前のコンパイラを作って行きましょう。 コンパイラの開発段階は、以下の段階が考えられます。
- 四則演算をLLVMで出来るようになる。
- 構造体を使えるようになる。
- switch構文を使えるようになる。
四則演算
四則演算が出来るコンパイラは作れないと話にならなりません。 まずは、四則演算が出来るLLVMのコンパイラをつくります。
構造体を使えるようになる。
パターンマッチを行うには、構造体を扱える必要がありました。 従って、四則演算が出来たら、構造体を使えるようにします。
switch文を使えるようになる。
LLVMのswitch構文が使えればマッチング構文を作るのが簡単になります。 switchが出来るようになっておくと良いです。
まとめ
パターンマッチングを作る為には、基盤となる技術を確立する事が大切です。 基盤が出来てから、パターンマッチを具体的に作って行くことにします。
次回からは、LLVMで必要な機能を作成して行きます。