C to FlipJump: A Minimalist RISC-V Virtual Machine

2025-01-17
C to FlipJump: A Minimalist RISC-V Virtual Machine

The c2fj project is a compiler that translates C code into FlipJump, a minimalist instruction set virtual machine. It first compiles C code into a RISC-V ELF file, then translates RISC-V instructions into FlipJump instructions, and finally runs the resulting FlipJump program. This process cleverly leverages FlipJump's space optimization, allowing for efficient compilation even of large C codebases. c2fj supports various compilation flags and provides Makefile support for complex projects. It also includes a minimal C library implementing necessary system calls such as `exit`, `getc`, `putc`, and `sbrk`.

Development