On 2013-07-17 21:40, Walter Bright wrote:
Yes, but the front end itself must be complete. Otherwise,
it's not really practical when you're dealing with things like the
preprocessor - because a non-compliant front end won't even know it has
gone off the rails.
There are other issues when dealing with C .h files:
1. there may be various #define's necessary to compile it that would
normally be supplied on the command line to the C compiler
2. there are various behavior switches (see the PR for DMD that wants to
set the signed'ness of char types)
3. rather few .h files seem to be standard compliant C. They always rely
on various compiler extensions
These problems are not insurmountable, they just are non-trivial and
need to be handled for a successful .h file importer.
Yes, I agree with all the above. That's why I'm using libclang. What I'm
saying is that when I use a library like libclang I can choose quite
freely what to convert and not convert. Example, DStep doesn't handle
the preprocessor at all. But since libclang does, it can parse any
header file anyway. What happens is just that the preprocessor
declarations won't be translated and not end up in the translated file.
--
/Jacob Carlborg