Von C zu FlipJump: Eine minimalistische RISC-V-Virtual Machine

2025-01-17
Von C zu FlipJump: Eine minimalistische RISC-V-Virtual Machine

Das c2fj-Projekt ist ein Compiler, der C-Code in FlipJump, eine minimalistische Virtual Machine mit Instruktionsset, übersetzt. Es kompiliert zuerst C-Code in eine RISC-V-ELF-Datei, übersetzt dann RISC-V-Instruktionen in FlipJump-Instruktionen und führt schließlich das resultierende FlipJump-Programm aus. Dieser Prozess nutzt die Speicheroptimierung von FlipJump clever aus, wodurch eine effiziente Kompilierung auch großer C-Codebasen ermöglicht wird. c2fj unterstützt verschiedene Compiler-Flags und bietet Makefile-Unterstützung für komplexe Projekte. Es enthält auch eine minimale C-Bibliothek, die notwendige Systemcalls wie `exit`, `getc`, `putc` und `sbrk` implementiert.

Entwicklung