Spaces:
Running
Running
metadata
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
- Open the application interface
- Upload one or more C/C++ files
- Click "Analisar Arquivos" (Analyze Files)
- View detailed analysis in each category tab
Installation
Requirements
- Python 3.7+
- libclang
- gradio
Local Development
To run locally:
# 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:
!apt-get update
!apt-get install -y libclang-dev
!pip install libclang gradio
License
MIT License