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
File details
Details for the file cheader2json-0.0.0rc2.tar.gz
.
File metadata
- Download URL: cheader2json-0.0.0rc2.tar.gz
- Upload date:
- Size: 13.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5e8f29780013bde315960f6c0cde23fc72b3a0e66eaaed9a0e24f0763336c592 |
|
MD5 | f78dd0f367365dce98336a439385f536 |
|
BLAKE2b-256 | 82af7b478e62a455ac34238bd11cd10db69c1c263381bb196563eab46b89e2e6 |
File details
Details for the file cheader2json-0.0.0rc2-py3-none-any.whl
.
File metadata
- Download URL: cheader2json-0.0.0rc2-py3-none-any.whl
- Upload date:
- Size: 9.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 657e02d9a50846a2773ae2a6b2ad6d4c7fccef27255e6a98a46eaa1b9180e3c8 |
|
MD5 | 9bf17c6d2b0947844d7ef779689ac596 |
|
BLAKE2b-256 | f53a40fb4f20d5d5e660796f7fa5f27c03bb869eba7516c180c91338ebe6105a |