C code parser based on Clang
Project description
Parser CI — C Parser на базе Clang
Инструмент для анализа C-проектов. Работает на базе libclang. Извлекает полезную информацию из исходников: функции, переменные, типы, макросы и контекст.
Возможности
🔧 На уровне проекта:
- Перечислить все пользовательские типы данных (структуры, перечисления, typedef и т.д.)
- Перечислить все файлы проекта
- Подсчитать количество строк (всего / без комментариев / только функциональных)
- Перечислить все define-ы (макросы)
- Перечислить все глобальные, static и extern переменные
- Перечислить все функции (глобальные и static отдельно)
- Разделить define-ы на системные и пользовательские
📄 На уровне файла:
- Перечислить все функции в файле
- Перечислить все зависимости (#include)
- Все переменные (глобальные, static, extern)
- Все define-ы
- Все пользовательские типы
- Подсчёт строк (всего / только функциональных)
- Диагностика кода (clang diagnostics)
🔁 На уровне функции:
- Аргументы и локальные переменные
- Имя, шапка, возвращаемый тип и значение
- Используемые глобальные переменные
- Вызовы других функций
- Кол-во строк кода
- Извлечение контекста для изолированной компиляции
Установка
pip install parser-ci-AP
Пример использования
from parser_ci import Project
project = Project(Path(r"\path\to\c\project"))
for f in pr.global_functions:
print(f.name)
Структура проекта
parser-ci/
├── parser_ci_AP/
│ ├── __init__.py
│ ├── define_info.py
│ ├── errors_info.py
│ ├── function_info.py
│ ├── logger.py
│ ├── project.py
│ ├── project_file.py
│ ├── type_info.py
│ └── variable_info.py
├── README.md
├── setup.py
├── LICENSE
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
parser_ci_ap-0.1.39.tar.gz
(18.0 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file parser_ci_ap-0.1.39.tar.gz.
File metadata
- Download URL: parser_ci_ap-0.1.39.tar.gz
- Upload date:
- Size: 18.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
64f197e54c568e8f4f39ae01727f83d1e1a2936648c65e8b3e6cff0ef99e457c
|
|
| MD5 |
b338767b5b8e0496080a2bbe89a2895e
|
|
| BLAKE2b-256 |
315bbd4017752070818e1f74ad9f2d5881241be942c0484554a4b84d5f0f1a13
|
File details
Details for the file parser_ci_ap-0.1.39-py3-none-any.whl.
File metadata
- Download URL: parser_ci_ap-0.1.39-py3-none-any.whl
- Upload date:
- Size: 22.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5e188b86cc6ff9371c977515d39b5464a5c40a19b5b5cfdaf778aeaf9e45b747
|
|
| MD5 |
3a4e1df78ce91c6448c5539bde31cc37
|
|
| BLAKE2b-256 |
74062ecfd1ff616b6ff2ac5c519cf98958f06e0f2fe67b5c0fee99fa2c7aac05
|