C から FlipJump へ:最小限の RISC-V 仮想マシン

2025-01-17
C から FlipJump へ:最小限の RISC-V 仮想マシン

c2fj プロジェクトは、C言語のコードを、最小限の命令セットを持つ仮想マシンである FlipJump に翻訳するコンパイラです。まず C コードを RISC-V ELF ファイルにコンパイルし、次に RISC-V 命令を FlipJump 命令に変換し、最後に生成された FlipJump プログラムを実行します。このプロセスは FlipJump の空間最適化を巧みに利用することで、大規模な C コードベースでも効率的なコンパイルを可能にします。c2fj は様々なコンパイルオプションをサポートし、複雑なプロジェクトのための Makefile サポートを提供します。また、`exit`、`getc`、`putc`、`sbrk` などの必要なシステムコールを実装した最小限の C ライブラリも含まれています。

開発