Spaces:
Running
Running
title: C-Cpp-Inspector | |
emoji: 🔍️©️/©️++💻 | |
colorFrom: blue | |
colorTo: purple | |
sdk: gradio | |
sdk_version: 4.7.1 | |
app_file: app.py | |
pinned: false | |
license: mit | |
# C/C++ Syntax and Features Inspector | |
This project analyzes C/C++ code to extract insights about syntax elements, memory management, and C++ specific features. The tool identifies primitive types, pointers, structs, control structures, memory operations, and C++ features like classes and templates, helping developers understand and improve their C/C++ code. | |
## Developer | |
Developed by Ramon Mayor Martins (2025) | |
- Email: rmayormartins@gmail.com | |
- Homepage: https://rmayormartins.github.io/ | |
- Twitter: @rmayormartins | |
- GitHub: https://github.com/rmayormartins | |
- Space: https://huggingface.co/rmayormartins | |
## Key Features | |
### Basic Analysis | |
- **Syntax Elements**: | |
- Detects primitive types and constants | |
- Identifies variable declarations | |
- Analyzes control structures (if/else, switch/case, loops) | |
- Tracks operators (arithmetic, logical, bitwise) | |
### C-Specific Features | |
- **Memory Management**: | |
- Tracks malloc/calloc/realloc usage | |
- Monitors memory freeing operations | |
- Analyzes memory operations (memcpy, memmove, etc.) | |
- **Data Structures**: | |
- Identifies pointers and multiple pointers | |
- Detects structs, unions, and enums | |
- Analyzes arrays and typedefs | |
### C++ Features | |
- **OOP Analysis**: | |
- Classes and objects | |
- Templates and namespaces | |
- Inheritance and polymorphism | |
- Member access specifiers | |
- **Modern C++**: | |
- STL usage detection | |
- Modern C++ features (auto, nullptr, etc.) | |
- References and operator overloading | |
## Interface Features | |
- Upload multiple ©️/©️++ files (.c, .cpp, .h, .hpp) | |
- Results organized in categorized tabs: | |
- File Information | |
- Basic Elements | |
- Pointers and Structures | |
- Control Flow | |
- Operators | |
- Input/Output | |
- Memory Management | |
- C++ Features | |
## How to Use | |
1. Open the application interface | |
2. Upload one or more C/C++ files | |
3. Click "Analisar Arquivos" (Analyze Files) | |
4. View detailed analysis in each category tab | |
## Installation | |
### Requirements | |
- Python 3.7+ | |
- libclang | |
- gradio | |
### Local Development | |
To run locally: | |
```bash | |
# Install libclang (Ubuntu/Debian) | |
sudo apt-get install libclang-dev | |
# Install Python dependencies | |
pip install -r requirements.txt | |
# Run the application | |
python app.py | |
``` | |
### Google Colab | |
To run in Google Colab: | |
```python | |
!apt-get update | |
!apt-get install -y libclang-dev | |
!pip install libclang gradio | |
``` | |
## License | |
MIT License |