Prof A Olowofoyeku (The African Chief) wrote:
It is clear that 100% conversion will not be possible for many C headers, and so another approach is needed (the compiler being able to compile C code? after all, we are already compiling assembler ...).
Not really. The compiler outputs assembler, so when it sees inline assembler, it just passes it through. But the compiler doesn't read, write or process any C code at any stage.
Indeed, for a 100% (or even close) C translation, we'd probably need access to some C features in the language. Some are already present (dubious thanks to Borland ;-), some more could be added in non-invasive ways (e.g., using obscure names).
Another thing is the ability to link compiled Pascal, C, etc. as well as assembler files together. But there are different compilers involved, and it won't help for interfaces, except in the way I described before -- write wrappers in C (or C++ for such libraries) and provide your own C[++]/Pascal interface.
Frank