C as an Intermediate Language (2012)
The article discusses the use of C as an intermediate language for compilers, highlighting its advantages in terms of portability and optimization. It contrasts C with other intermediate representations like LLVM IR, arguing that C provides better support and interoperability with various tools. The author proposes to demonstrate a Forth-to-C compiler as a practical example of this concept.
- ▪C is a highly portable and efficient intermediate language for compilers.
- ▪The article suggests that C offers better debugging support compared to LLVM IR.
- ▪A Forth-to-C compiler will be implemented to illustrate the advantages of using C as an intermediate language.
Opening excerpt (first ~120 words) tap to expand
Here's a Forth program debugged in KDevelop – a graphical debugger without Forth support: Cool stuff, not? The syntax highlighting for Forth files – that's someone else's work that comes with the standard KDevelop installation. But the rest – being able to run Forth under KDevelop, place breakpoints, and look at program state – all that stuff is something we'll develop below. I'll show all the required code; we don't have to do very much, because we get a lot for free by using C as an intermediate language. A high-level intermediate language is not unusual. A lot of compilers target an existing high-level platform instead of generating native code – for instance, by generating JVM bytecode or JavaScript source code.
…
Excerpt limited to ~120 words for fair-use compliance. The full article is at Yosefk.