Proof of concept: automatically import C header files

Chad Joan chadjoan at gmail.com
Wed Jul 17 00:52:49 PDT 2013


On Tuesday, 16 July 2013 at 14:15:55 UTC, Jacob Carlborg wrote:
> Made a proof of concept to automatically parse, translate and 
> import C header files in D using DStep. DMD is linked against 
> DStep and does not start new process to make the translation.
>
> I added a new pragma, include, that handles everything. Use 
> like this:
>
> // foo.h
> void foo ();
>
> // main.d
>
> module main;
>
> pragma(include, "foo.h");
>
> void main ()
> {
>     foo();
> }
>
> DMD: https://github.com/jacob-carlborg/dmd/tree/dstep
> DStep: https://github.com/jacob-carlborg/dstep/tree/c_api

This sounds pretty cool, and the suggestion from Timothee also 
makes a lot of sense.

Is there any way we can rig this to behave as if it were a CTFE 
invocation?  It could be treated like an intrinsic up to the 
point where we have powerful-enough CTFE to replace it.  I'm 
still not sure if Walter would be OK with this, but I figure I'd 
mention it, since it could give us something really nice without 
having to wait for CTFE to get good.


More information about the Digitalmars-d mailing list