Parse C header file and output JSON ast + types
Project description
cheader2json
Take one or more c header files as input, and do a JSON dump of a portion of the libclang AST for easier processing by other tools. This code was originally from the libclang based Python/Matlab binding generator for HELICS, but has been split out to make it more reusable. Functionality is also provided to do a diff of two JSON files, that can be used to get a quick overview of what has changed between releases.
Installation
pip install cheader2json
Recommended: Install in a Python virtual environment.
Usage
Convert a c header file to a JSON file with a subset of the AST (excluding function bodies) and a JSON file with type information:
cheader2json convert <HEADER_FILE>
Dump a pair of JSON files named example.ast.json
and example.types.json
for multiple header files, and ignore DO_SOMETHING
macro
(the ignore macro option can be given more than once, or IGNORED_MACROS environment variable can be set to a space separated list of
macro names to ignore):
cheader2json convert <HEADER_FILE1> <HEADER_FILE2> --prefix=example --ignore-macro=DO_SOMETHING
Do a diff of two dumped AST JSON files:
cheader2json diff <JSON_AST_FILE_OLD> <JSON_AST_FILE_NEW>
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for cheader2json-0.0.0rc2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 657e02d9a50846a2773ae2a6b2ad6d4c7fccef27255e6a98a46eaa1b9180e3c8 |
|
MD5 | 9bf17c6d2b0947844d7ef779689ac596 |
|
BLAKE2b-256 | f53a40fb4f20d5d5e660796f7fa5f27c03bb869eba7516c180c91338ebe6105a |