Preccs設計目標

  • C言語との相互運用性を高める
  • できる限り効率的な生成コードを出力する

方針

(1) サポートするスタイル

  • 関数型言語のスタイル
    • クロージャ,一級関数,一級継続
    • パタンマッチ
  • 命令型言語のスタイル
    • 代入演算
    • for, whileなどの制御構文

⇒ オブジェクト指向(クラスベースの?)

  • 並行プロセスのサポート
    • 一級継続を用いたライブラリとして実現する
  • 型システム
    • 多相型,型推論,型パラメータ
  • モジュールシステム
    • 分割コンパイル
  • 相互運用性
    • Cの関数の呼び出し.
    • あるいはCプログラムからの呼び出し.

(2) C言語のコードを出力する.

  • 命令型スタイルのプログラムは自然なCのコードに出力される.
    • 関数呼び出しはCの関数呼び出し.
    • for, whileはCのforやwhile(もしくはgotoも可)
  • call/ccを用いた場合は,関数呼び出しは,CPSに変換される.

Cをターゲット言語とすることの利点は以下のとおり

  • 移植性が高くなる.様々なアーキテクチャをサポートしている.
  • レジスタ割り付けや命令セット選択,最適化などをいちいち実装しなくても済む.
  • 効率の良いマシンコードを生成してくれる.
設計目標.txt · 最終更新: 2009/07/02 11:25 by hattori
www.chimeric.de Creative Commons License Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0