https://github.com/ishbguy/cppwalk
A C/C++ source code analysis tool powered by clang/libclang
https://github.com/ishbguy/cppwalk
c clang cpp
Last synced: about 1 month ago
JSON representation
A C/C++ source code analysis tool powered by clang/libclang
- Host: GitHub
- URL: https://github.com/ishbguy/cppwalk
- Owner: ishbguy
- License: mit
- Created: 2025-07-13T08:21:52.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2025-07-14T13:27:09.000Z (11 months ago)
- Last Synced: 2025-07-14T17:26:33.671Z (11 months ago)
- Topics: c, clang, cpp
- Language: Python
- Homepage:
- Size: 7.81 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# [cppwalk](https://github.com/ishbguy/cppwalk)
A C/C++ source code analysis tool powered by clang/libclang.
## Table of Contents
- [:art: Features](#art-features)
- [:straight_ruler: Prerequisite](#straight_ruler-prerequisite)
- [:rocket: Installation](#rocket-installation)
- [:notebook: Usage](#notebook-usage)
- [:memo: Configuration](#memo-configuration)
- [:hibiscus: Contributing](#hibiscus-contributing)
- [:boy: Authors](#boy-authors)
- [:scroll: License](#scroll-license)
## :art: Features
- [ ] Show the whole or a part of the C/C++ AST
- [ ] List the class, method, functuon or other syntax elements
- [ ] Generate call graph, control flow graph
## :straight_ruler: Prerequisite
Ensure that you have installed `clang` package on your system, which provides the `libclang.so` for C/C++ AST manipulation interfaces.
## :rocket: Installation
Use a Python package manager (`pip` and so on) to intall the `cppwalk`, for example:
```sh
pip install cppwalk
```
## :notebook: Usage
```
Usage: cppwalk [OPTIONS] [FILES]...
Options:
-s, -std, --standard TEXT specify the C/C++ standard [default: c++11]
-I, --include PATH add include path
-v, --version Show the version and exit.
-h, --help Show this message and exit.
```
## :memo: Configuration
TODO.
## :hibiscus: Contributing
1. Fork it
2. Create your feature branch (`git checkout -b my-new-feature`)
3. Commit your changes (`git commit -am 'Add some feature'`)
4. Push to the branch (`git push origin my-new-feature`)
5. Create new Pull Request
## :boy: Authors
- [ishbguy](https://github.com/ishbguy)
## :scroll: License
Released under the terms of [MIT License](./LICENSE).