タグ

OCamlとCに関するnsyeeのブックマーク (3)

  • (続)OCamlをC言語に変換するプログラムつくりました - masateruk’s blog

    OCamlで書いてC言語に変換するプログラム、最低限入れたかった機能を実装して一応形になりました(ソースコードはこちら)。プライベートな時間をちまちま使って作ったので思ったより時間がかかってしまいました。最初にブログで紹介してから1年半もたちました。 OCamlをC言語に変換するプログラムをつくりました - masaterukの日記 サポートしている基型は、Int型とBool型のみ。レコード型とバリアント型も使えます。型変数による多相型も定義できます。リスト型だけ組み込みでサポートしました(ただしライブラリはありません)。 関数を定義するときには、再帰関数でなくてもlet recとするのはMinCamlと同様です。ラムダは書けませんが、クロージャはサポートしてます。matchによるパターンマッチをサポートしているので、だいぶ書けるものが増えました。 たとえば、Haskellの例でよく引き

    (続)OCamlをC言語に変換するプログラムつくりました - masateruk’s blog
  • 産総研 RCIS: Fail-Safe C: 安全なC言語コンパイラ

    Fail-Safe C とは Fail-Safe C は、完全な ANSI-C に対するメモリの安全性を保証する実装です。Fail-Safe C は、完全な ANSI-C 規格への準拠 (キャストや共用体を含む) を実現しながら、実行状態の破壊や乗っ取りに繋がる全ての危険な操作を検出し防止します。また、Fail-Safe C は、様々な「dirty trick」――必ずしも ANSI-C で厳密な意味では認められないが、広く一般のプログラマが利用している様々な記述手法――を、安全性を壊さない範囲でサポートしています。 Fail-Safe C では、コンパイル時や実行時の様々な最適化手法を組み合わせることで、実行時検査のオーバーヘッドの削減を行っています。このコンパイラを用いることでプログラマは、既存のプログラムを大幅に書き換えたり別の言語に移植したりすることなく、そのままプログラムを安全に

  • http://cil.sourceforge.net/

    CIL (C Intermediate Language) CIL is a front-end for the C programming language that facilitates program analysis and transformation. CIL will parse and typecheck a program, and compile it into a simplified subset of C. For example, in CIL all looping constructs are given a single form and expressions have no side-effects. This reduces the number of cases that must be considered when manipula

  • 1