blob: bfda7cee342669259ee6651c7730246b14a9126f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|

[](https://github.com/realtradam/FelBind/blob/master/LICENSE)
[](https://ko-fi.com/tradam)
A binding assistant and generator for C/C++ to mruby(Under heavy WIP)
---
### How I plan for it to work:
1. Run the scanner which will generate a glue.json file. This json file will contain all functions(and their params) as well as all structs(and their params)
2. Create a configuration file where you can reference specific functions and how you want their bindings to be generated differently
- for example, under what module or class a function should belong
- if a certain param should use self instead of passing in something
- ignore some functions if you dont need them
- insert bindings you made yourself
3. Run the generator with the configuration file - this generates the resulting binding code
#### Todo:
- [X] parse C files for function and struct declarations
- [X] plan for DSL for configuration file
- [ ] create generator's default output
- [X] phase 1 - bind returnless, paramless functions
- [X] phase 2 - bind standard type return functions(e.g string or int), but still paramless
- bool
- int
- float
- double
- string
- [X] phase 3 - bind standard type return or params
- [X] phase 4 - bind struct construction(returning struct objects)
- [X] returning structs
- [X] accessors for values inside structs
- [X] bind struct initializer
- [ ] phase 5 - bind remaining struct related things
- [ ] struct as params of functions
- [ ] fix structs inside of structs
- [ ] for initilization
- [ ] for accessors
- [ ] clean up code
- [ ] have generator use config DSL file to customize bindings
- [ ] do it all again for C++
|