COINSインフラストラクチャの使い方

COINSは、複数言語、複数機種を扱えるコンパイラのインフラストラクチャで す。教育、研究はもとより種々の用途のコンパイラの開発に利用することができます。

COINSインフラストラクチャの構成と各機能の使い方については、 「COINSの解説」 のページをごらんください。

COINSを使って、以下のようなことをすることができます。

  1. COINSにあるコンパイラを使う
    ・Cコンパイラとして
    ・Fortran 77コンパイラとして
    ・Fortran to Cコンパイラとして
    ・C to OpenMPのトランスレータとして
  2. COINSを使って新たなコンパイラを作る
    ・新しい言語のコンパイラを作る
    いくつかの例が 「Coinsを用いて新たなコンパイラを作る」のページにある。フ ロントエンドを作るだけで 新しい言語のコンパイラが出来る。
    ・別のターゲットマシンを定義する
    そのマシン記述を書くだけで、そのマシン用のコンパイラが出来る。
  3. COINSを使ってコンパイラの実験・研究を行う
    たとえば、SSA関係では、LIR中間表現上でのSSA変換が3種類、SSA逆変換が 3種類、SSA形式でのさまざまな最適化、など多くの モジュールが用意されているので、それらの組み合わせをいろいろ変えて実験し、比 較をしてみることが出来る。
    また、新しい最適化方式を考案した場合は、COINSのインフラを利用すれば、 新たに考案した部分だけを実現して、実験をしてみることが出来る。
  4. COINSを教育の道具として使う
    簡単な言語のコンパイラを作らせる、各種の最適化の効果を実験で確かめさせる、 などしてコンパイラの種々の機能を理解させる。
    「Coinsを用いて新たなコンパイラを作る」や「SSA最適化の例」のページの例題が参考になります。
    実際の教育で使われた例
    「COINSの教育現場での活用について」鹿児島大学 山之上卓先生
  5. COINSの機能を増強する
    たとえば、COINSの機能を使って開発した新しい最適化モジュールを COINSに組み込むなどして、インフラの機能を増強する。