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
## Пример использования
```python
from parser_ci import Project
project = Project("/path/to/c/project")
print(project.functions)
## Структура проекта
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.1.tar.gz
(16.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.1.tar.gz.
File metadata
- Download URL: parser_ci_ap-0.1.1.tar.gz
- Upload date:
- Size: 16.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 |
7a32c9541130a8b0f41c2c1d4c0d8e6890499f137013c2d9e3afb7165daa84e5
|
|
| MD5 |
b516dc94bca82fac47fcfc6585aff740
|
|
| BLAKE2b-256 |
b15e1a9a95f39c9c0dad2bb6f92c8377cb0ac361d63c0f906d9a8b39d031230e
|
File details
Details for the file parser_ci_ap-0.1.1-py3-none-any.whl.
File metadata
- Download URL: parser_ci_ap-0.1.1-py3-none-any.whl
- Upload date:
- Size: 20.7 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 |
233020ddd92e1d3c451e0298580cc25f18d28d2bff210cfc235fcbcd8926f76a
|
|
| MD5 |
73a412098535b1bea67a2e8616ba5202
|
|
| BLAKE2b-256 |
a06b141decb6614f6fe816a6614b9628ade04a36b4e7677662e421d0186cd7a9
|