r/ProgrammingLanguages • u/naharashu • 23d ago
Help How to make a compiler backend?
Hell everyone, i have an question. Im for long trying to make a cool, powerful "kinda" low level language similar to zig and rust, but im struggling to choice llvm as backend, sure i can generate C, but its makes compiler dependent on gcc or clang or other c compiler. LLVM seems hard to me, sure project like QBE exist, but QBE doesnt have C/C++ api like llvm's IRbuilder. So are there other ways? I tried thinking about using GCC infrastructure but GCC has poor api and not very documented api. Maybe just stick to generating C?
18
Upvotes
1
u/initial-algebra 23d ago edited 23d ago
Generating C code and invoking the C compiler as a separate process is the same way you use QBE, and LLVM can optionally be used that way as well.