gmlc-tdc / cheader2json Goto Github PK
View Code? Open in Web Editor NEWlibclang parser to dump c header info to json
libclang parser to dump c header info to json
If data types and order still match, the parameter may have been renamed rather than actually having a significant change to the function signature.
Add the files needed to make so we can install this git repo using pip.
Searching for differences should make sure that for added functions it outputs the return type. Return type should also be a factor that is considered when determining if a function has changed (if it isn't already).
libclang is returning a type of "int" (or "Int" depending on the function/attribute used), instead of what it had been returning before -- "int32_t" or "int64_t". It is also adding typedefs for each enum, which wasn't happening before.
This may be a macOS specific bug with libclang (the Python bindings?); a Google search turned up a similar issue with Ubuntu where size_t
was getting reported by libclang as being of type int
.
Note: running clang -Xclang --ast-dump=json -fsyntax-only <header_file>
prints the expected type names, but is extremely verbose and includes information on included header files (C/C++ standard library)... it may be worth looking into alternatives to libclang, maybe some that are a bit more user friendly. Python options are likely the easiest/most direct to port, but other languages would also be fine if the available library is easy enough to use (whatever underpins rust bindgen and similar tooling).
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.