An advanced lexical analyzer and visualizer with a modern GUI. Supports Python, JavaScript, Java, and C++. Features tokenization, syntax and semantic analysis, AST and parse tree visualization, token frequency charts, and optional AI-powered code tools.
- Features
- Topics
- Requirements
- Installation
- Usage
- Screenshots
- Troubleshooting
- Team & Contact
- License
- Acknowledgments
- Roadmap
- Useful Resources
- Multi-Language Support: Analyze code in Python, JavaScript, Java, and C++.
- Lexical Analysis: Tokenization with error detection and classification.
- Syntax & Semantic Analysis: Detects syntax and semantic issues specific to each language.
- AST & Parse Tree Visualization: Interactive visualization of code structure.
- Token Frequency Charts: Visual analysis of token distribution.
- LALR(1) Parsing Table Generation: For advanced parsing and educational use.
- AI/ML Integration: Optional code suggestions and error prediction using machine learning.
- Modern GUI: CustomTkinter interface with theme and font customization.
- Export Options: Save analysis results and visualizations.
- Lexical analysis
- Syntax analysis
- Semantic analysis
- Multi-language code parsing (Python, JavaScript, Java, C++)
- Tokenization
- AST & parse tree visualization
- Token frequency analysis & charts
- LALR(1) parsing table generation
- AI/ML-based code suggestions and error prediction (optional)
- GUI development with CustomTkinter
- Theme and font customization
- Real-time analysis
- Exporting analysis results and visualizations
- Python 3.8+
- pip
- CustomTkinter
- matplotlib
- NetworkX
- (Optional) torch, transformers
See installation notes for more details.
- Clone the repository:
git clone https://github.com/Harshitjasuja/Lexical-Analyzer.git
cd lexical-analyzer
- Install dependencies:
pip install -r requirements.txt
- Run the application:
python main.py
- Launch the application.
- Select the programming language.
- Paste or load your source code.
- Click "Analyze" to view tokens, analysis, AST, parse trees, and charts.
- Use export options to save your results.











- If you encounter issues with GUI rendering, ensure all dependencies are installed and your Python version is compatible.
- For AI features, verify that
torch
andtransformers
are installed. - For more help, open an issue or check the Useful Resources.
-
Team Architechs
-
Harshit Jasuja (Team Lead & System Architect)
-
Yashika Dixit (UI/UX Designer)
-
Shivendra Srivastava (Performance Engineer & QA Lead)
-
For support, feature requests, or collaboration:
-
Email: harshitjasuja70@gmail.com
- This project is developed as an academic project by the Architechs Team for SE(CD)-VI-T155. All rights reserved.
- For collaboration, feature requests, or partnership opportunities, please contact the development team.
- © Team Architechs
- Built for compiler design and code analysis education.
- Inspired by modern compiler construction and software engineering practices.
- Multi-language lexical analysis
- Syntax and semantic analysis
- AST and parse tree visualization
- Token frequency charts
- Expand language support (e.g., Go, Rust)
- Enhanced AI/ML code suggestion features
- Web-based interface
- Plugin system for custom analyzers
- CustomTkinter Documentation
- matplotlib Documentation
- NetworkX Documentation
- Python Official Documentation