DStep - Bindings Generator 0.0.1
Andrea Fontana
nospam at example.com
Mon Jul 9 08:49:36 PDT 2012
Ok I know it's v 0.0.1, but I think this bugs are not so
difficult to fix:
- d keywords should be escaped => (for example int f(int out)
should become int f(int _out) or something similar...)
- self alias should be removed => typedef test { int a; } test;
generate alias test test; struct test { int a; };
- struct gives error if used on function ( "xxxx is used as a
type")
- variadic function gives errors: "Error: variadic functions with
non-D linkage must have at least one parameter"
:)
On Saturday, 7 July 2012 at 14:47:49 UTC, Jacob Carlborg wrote:
> DStep is a tool for translating C and Objective-C headers to D
> modules. It uses libclang for lexing/parsing and AST traversal.
> This means it handles everything that Clang itself can handle,
> although this doesn't mean it will correctly translate
> everything.
>
> I would consider this release alpha or beta. I'm releasing this
> now in hope I get some feedback on what language features the
> tool can't handle.
>
> The tool is available at github:
> https://github.com/jacob-carlborg/dstep
>
> Binaries are available for Mac OS X and Ubuntu 11.10 32bit:
> https://github.com/jacob-carlborg/dstep/downloads
>
> Unfortunately I haven't been able to successfully compile it on
> Windows due to Optlink not cooperating. I'll most likely
> provide Linux binaries with better compatibility later.
>
> Build instructions are available at github.
>
> Usage:
>
> dstep <input-file.h> -o output_file.d
>
> For Objective-C
>
> dstep <input-file.h> -o output_file.d -ObjC
>
> Tests:
>
> DStep uses Cucumber and Aruba (Ruby tools) to run its tests. It
> will basically run the tool on all *.h files in the
> "test_files" directory and compare the results to the
> corresponding *.d files.
>
> Known issues/missing functionality:
>
> * Multiple input files
> * Framework as input file
> * Add module declaration
> * Option for specifying before and after code
> * Option for specifying package
> * Windows support
>
> C:
> * Self includes
> * Out of order typedefs of structs
> * Bitfields
> * Non-standard extensions
> * Preprocessor
> * Arrays with no size marked as "extern".
>
> Objective-C:
> * Protocols
> * Properties
> * Blocks
> * Categories
> * Actions
> * Outlets
> * Selectors
>
> This is basically what's on the todo list:
>
> https://raw.github.com/jacob-carlborg/dstep/master/todo.taskpaper
>
> There's no point in reporting issues which are listed above.
More information about the Digitalmars-d-announce
mailing list