A Python-based tool that analyzes and summarizes code across different programming languages. The application provides a graphical user interface for easy interaction and generates comprehensive summaries of code structure, functions, and key concepts.
- Supports multiple programming languages
- Extracts and analyzes:
- Class definitions
- Function names and their arguments
- Import statements
- Key terms and concepts
- Clean GUI interface with syntax highlighting
- Natural language summaries of code structure
- Clone this repository:
git clone https://github.com/yourusername/ICA.git
cd ICA
- Install the required dependencies:
pip install -r requirements.txt
- Ensure NLTK data is downloaded (the program will handle this automatically on first run)
- Run the application:
python main.py
- Using the GUI:
- Select the programming language from the dropdown menu
- Paste or type your code in the input text area
- Click "Generate Summary" to analyze the code
- View the generated summary in the output text area
main.py
: Main application file containing the GUI and core functionalitylanguage_patterns.py
: Contains regex patterns and metadata for supported languagesrequirements.txt
: List of Python dependenciesREADME.md
: This file
- customtkinter: GUI framework
- nltk: Natural Language Processing toolkit
- regex: Regular expression operations
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.
Amit Kumar, Rakshit Malik, Kumar Tejaswa
- NLTK team for their comprehensive NLP toolkit
- Python customtkinter documentation for GUI implementation guidance