cparser は、C99 で書かれた再帰降下 C99 パーサーです。プリプロセッサ、レクサー、パーサーが含まれており、AST を構築し、セマンティック分析を実行します。これは、libFirm 中間表現ライブラリのフロントエンドとして機能します。このようにして、最適化とコード生成が実行されます。コンパイラは、コマンド ライン スイッチを使用した複数のターゲット アーキテクチャへのクロス コンパイルをサポートします。アセンブラやリンカーを呼び出したり、コマンドライン オプションを解析したりするためのドライバー ロジックが付属しています。これにより、多くの状況で gcc や Clang のドロップイン代替品として使用できます。
要件:
ソース ディレクトリの libfirm というディレクトリに libfirm を解凍します。あるいは、「config.mak」ファイルを使用して別の場所を設定することもできます。ソースディレクトリに「make」と入力するだけです。結果は「build」というディレクトリに保存されます。 「config.mak」ファイルを作成することで、既存のプリプロセッサ、コンパイラ、リンカーのフラグ、およびインクルード ディレクトリの組み込みパスをオーバーライドできます。
cparser には追加の cmake ビルド システムがあります。 CMake は、make ベースのビルドよりも複雑なビルド システムであるため、ほとんどの cparser 開発者は CMake を使用しません。ただし、コンパイラとリンカーのフラグを調整して、より広範囲のシステム用の共有ライブラリを構築でき、インストール ターゲットを提供するため、配布用のパッケージを準備する人々にとっては、より馴染みのあるものであることがよくあります。
cparser は多くの場合、source/build ディレクトリから正常に実行されますが、適切なインストールには正しいシステム パスを設定する必要があります。このためには、 config.mak
ファイルを作成し、次の変数をシステムに適切に設定する必要があります: PREFIX
、 SYSTEM_INCLUDE_DIR
、 LOCAL_INCLUDE_DIR
、 COMPILER_INCLUDE_DIR
、 MULTILIB_M32_TRIPLE
、 MULTILIB_M64_TRIPLE
、 variant=optimize
。変数は空に定義される場合があります。詳細については、 config.default.mak
およびMakefile
参照してください。
公式ウェブサイト:http://libfirm.org/
連絡先電子メール:[email protected]
メーリングリスト: https://lists.ira.uni-karlsruhe.de/mailman/listinfo/firm
バグトラッカー: http://pp.ipd.kit.edu/~firm/bugs
インターネットリレーチャット: irc://chat.freenode.net/#firm