https://github.com/tryomar/compilerxarabic
A compiler implementation for an Arabic-based programming language, featuring lexical analysis, syntax parsing, and a graphical user interface for interactive testing and development.
https://github.com/tryomar/compilerxarabic
arabic arabic-programming-language compiler parser python tokenizer
Last synced: about 1 year ago
JSON representation
A compiler implementation for an Arabic-based programming language, featuring lexical analysis, syntax parsing, and a graphical user interface for interactive testing and development.
- Host: GitHub
- URL: https://github.com/tryomar/compilerxarabic
- Owner: TryOmar
- Created: 2024-05-11T23:29:26.000Z (about 2 years ago)
- Default Branch: master
- Last Pushed: 2025-01-02T00:23:15.000Z (over 1 year ago)
- Last Synced: 2025-05-02T12:39:58.006Z (about 1 year ago)
- Topics: arabic, arabic-programming-language, compiler, parser, python, tokenizer
- Language: Python
- Homepage:
- Size: 534 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# CompilerXArabic
A compiler implementation for an Arabic-based programming language, featuring lexical analysis, syntax parsing, and a graphical user interface for interactive testing and development.
## Features
- 🔍 Lexical Analysis (Tokenizer)
- 🔬 Syntax Parser
- 🌐 Arabic Language Support
- 🖥️ Graphical User Interface
- ✅ Built-in Test Suite
- 🔄 Auto-Update Functionality
## Project Structure
- `main.py` - Main application entry point and GUI controller
- `tokenizer.py` - Lexical analyzer implementation
- `parser.py` - Syntax parser implementation
- `gui.py` - Graphical user interface implementation
- `Grammar rules.txt` - Language grammar specification
- `Tests.txt` - Test cases for the compiler
- `Grammar Rules.png` - Visual representation of grammar rules
## Requirements
- Python 3.x
- Required Python packages:
- GitPython
- requests
- (GUI framework - specific package name needed)
## Installation
1. Clone the repository:
```bash
git clone https://github.com/Omar7001-B/CompilerXArabic
cd CompilerXArabic
```
## Usage
Run the main application:
```bash
python main.py
```
The GUI will provide options to:
- Input source code
- View tokenization results
- Check syntax parsing
- Run test cases
- Check for updates
## Grammar
The compiler supports an Arabic-based programming language with features including:
- Variable declarations
- Function declarations
- Type specifications (صحیح, حقیقى, خالى)
- Array declarations
- Compound statements
For detailed grammar rules, see `Grammar rules.txt`.
## Testing
The project includes a comprehensive test suite in `Tests.txt`. Use the GUI's test navigation features to:
- Run individual tests
- Navigate through test cases
- Verify compiler output
## Contributing
1. Fork the repository
2. Create your feature branch
3. Commit your changes
4. Push to the branch
5. Create a Pull Request