cproc - C 言語用の新しいコンパクトなコンパイラ

Wayland プロトコルに基づく swc コンポジット サーバーの開発者である Michael Forney は、C11 標準といくつかの GNU 拡張機能をサポートする新しい cproc コンパイラを開発しています。 最適化された実行可能ファイルを生成するために、コンパイラーは QBE プロジェクトをバックエンドとして使用します。 コンパイラ コードは C で書かれており、無料の ISC ライセンスの下で配布されます。

開発はまだ完了していませんが、現段階では C11 仕様の大部分のサポートが実装されています。 現在サポートされていない機能には、可変長配列、プリプロセッサ、PIE (位置独立コード) 実行可能ファイルと共有ライブラリの生成、インライン アセンブラ、「long double」型、_Thread_local 指定子、揮発性型、プレフィックス付きの文字列リテラルなどがあります。 (L"..." )。

同時に、cproc の機能は、それ自体、mcpp、gcc 4.7、binutils、その他の基本的なアプリケーションを構築するのにすでに十分です。 他のコンパイラーとの主な違いは、コンパクトで単純な実装の作成に重点を置いている点です。 たとえば、バックエンドを使用すると、高度なコンパイラの 70% のパフォーマンスを示すコードを生成できますが、提案された機能は大規模コンパイラの 10% 以内です。 Glibc、bsd libc、および Musl ライブラリを使用して、Linux および FreeBSD プラットフォームでの x86_64 および aarch64 アーキテクチャの構築をサポートします。

出所: オープンネット.ru

コメントを追加します