libcmo21/CodeGen/BMapBindings
yyc12345 b319e0fcb6 feat: finish basic function of BMapSharp.
- fix weird C sharp behavior about calling FreeNativeData without calling ManagedToNative, which cause segment fault.
- disable unhandled exception handler in debug mode for BMap.
- change all associated code involving these issues.
2024-10-05 11:58:25 +08:00
..
dest update bmap python binding 2023-11-04 21:58:58 +08:00
.gitignore update gitignore 2023-11-02 20:27:57 +08:00
CommonHelper.java fix: update BMap bindings 2024-09-21 16:50:53 +08:00
CSharpWriter.java feat: finish basic function of BMapSharp. 2024-10-05 11:58:25 +08:00
ExpFctDecl.java feat: add csharp interop code generation but no test. 2024-04-23 16:01:26 +08:00
ExpFctParamDecl.java feat: add csharp interop code generation but no test. 2024-04-23 16:01:26 +08:00
ExpFctsLexer.g4 fix: fix issues 2024-08-17 23:29:08 +08:00
ExpFctsParser.g4 finish recognization part of bmap binding 2023-11-02 12:40:50 +08:00
ExpFctsWalker.java add basic python writer for bmap binding 2023-11-02 22:02:39 +08:00
ExtractBMapFctDecl.py fix: fix issues 2024-08-17 23:29:08 +08:00
IndentHelper.java add basic python writer for bmap binding 2023-11-02 22:02:39 +08:00
JsonWriter.java add json output for convenience about more lang bindings for bmap. 2023-11-07 15:55:07 +08:00
MainRunner.java add json output for convenience about more lang bindings for bmap. 2023-11-07 15:55:07 +08:00
PythonWriter.java fix: update BMap bindings 2024-09-21 16:50:53 +08:00
README.md write binding code 2023-11-02 10:53:16 +08:00
VariableType.java feat: add csharp interop code generation but no test. 2024-04-23 16:01:26 +08:00

BMap Bindings Generation

A helper program to generate BMap binding in Python and CSharp

This program is consisted by 2 parts, first is Python part which extract BMap interface function declarations from source file, thus following Antlr step can focus on syntax analyze.
Next part is Antlr part. It analyse extracted function declarations and output corresponding Python binding and CSharp binding.

python ExtractBMapFctDecl.py

antlr4 ExpFctsLexer.g4
antlr4 ExpFctsParser.g4

javac *.java
java MainRunner