パターンマッチ実装奮闘記(2)

前回は、簡単なパターンマッチを実装するのにLLVMを使う事にする事を考え、具体的なコードも書いてみました。

今回はどうやってLLVMにコンパイル出来るようになるかを考えます。 開発方針を決める事で、見通しが良くなるはずです。

コンパイラの作成段階

何も無い所からいきなりパターンマッチの機能を作る事は出来ません。 段階を踏んで、パターンマッチを作る前のコンパイラを作って行きましょう。 コンパイラの開発段階は、以下の段階が考えられます。

  1. 四則演算をLLVMで出来るようになる。
  2. 構造体を使えるようになる。
  3. switch構文を使えるようになる。

四則演算

四則演算が出来るコンパイラは作れないと話にならなりません。 まずは、四則演算が出来るLLVMのコンパイラをつくります。

構造体を使えるようになる。

パターンマッチを行うには、構造体を扱える必要がありました。 従って、四則演算が出来たら、構造体を使えるようにします。

switch文を使えるようになる。

LLVMのswitch構文が使えればマッチング構文を作るのが簡単になります。 switchが出来るようになっておくと良いです。

まとめ

パターンマッチングを作る為には、基盤となる技術を確立する事が大切です。 基盤が出来てから、パターンマッチを具体的に作って行くことにします。

次回からは、LLVMで必要な機能を作成して行きます。