People absolutely do it. In fact, the original C ++ implementation was a program called Cfront , which translated C ++ into C code and then compiled using the C compiler.
Today, when intermediate "bytecodes" such as JVM, CLR, and LLVM prevail, translating languages ββto C source code is now much less common. This is a much more powerful and less annoying way to generate bytecode directly, rather than generate text source code. These bytecodes (or "bitcodes" in the case of LLVM) are lower than text-based programming languages, but still higher than the source machine code associated with a particular processor or CPU family.
I would call this program a "translator", but it's just me. The "compiler" will also work perfectly.
source share