これは、C2 自体で書かれた C2 コンパイラです。
C2 は C の進化版です。詳細については、http://c2lang.org を参照してください。
最初のバージョンは C++ で書かれており、このアーカイブの歴史にも記載されています。
Linux または OSX へのインストールについては、インストール ドキュメントを参照してください。
c2c には libc インターフェイスが必要なので、このアーカイブと同じベース ディレクトリに c2_libs アーカイブのクローンを作成してください。
git clone [email protected]:c2lang/c2_libs.git
ディレクトリは、base/c2_libs/c2compiler/ のようになります。
また
c2cは C2 で記述されているため、ブートストラップが必要です。走ってください
. ./env.sh
make -C bootstrap
./install_plugins.sh
これにより、boostrap c2c バージョンが作成され、それを使用して c2c コンパイラがビルドされます。出力はフォルダー「output/」にあります。
これで、通常のコンパイラを実行して (他の) C2 プロジェクトをコンパイラできるようになりました。
./output/c2c/c2c
より良い方法は、~/bin にシンボリックリンクを作成することです。
cd ~ /bin
ln -s < path_to_c2compiler > /output/c2c/c2c c2c
また、~/bin が PATH 変数にあることを確認してください。
C2 コンパイラにはプラグインシステムがあり、コンパイル中にプラグインをロードし、プラグインによって AST を変更できるようになります。
c2c は、環境変数 $C2_PLUGINDIR (env.sh スクリプトによって設定) 内のプラグインを検索します。また、パスはbuild-fileに設定することもできます。最初にプラグインをインストールするには、 ./install_plugins.shを実行します。これにより ~/c2_plugins/ が作成され、そこにすべてのプラグインがコピーされます。
プラグインなしでc2c を実行するには、 --nopluginsを使用します。
単体テストを実行するには、以下を実行します
./output/tester/tester test