C++ implemented in plain C
c, c++, compiler-construction, implementation
Solution
You can try cfront. You can download old versions here. But it only supports a very limited C++ subset. Some features like exceptions can not be implemented this way.
Update: As Maxim Yegorushkin noted Exceptions might be implemented with setjmp/longjmp. But if I remember correctly exceptions can not be implemented as an library in C++. They have to be part of the core language.
Problem
I have read several times that early C++ compilers translated first C++ code into plain C before compiling it (or maybe needed a third-party C compiler). Playing myself with grammar / language / compilation fields, I am curious to see how C++ was implemented in plain C, especially what can be one way to implement the class inheritance and [virtual] method calling. Could you point me to such a compiler that would still be available nowadays? I know that OO code can be simulated / emulated in plain C with structs and functions pointers, but I would like to see an actual implementation of the C++ language in C.