Metadata-Version: 2.4
Name: ahmedelsany12_pda
Version: 1.1.3
Summary: A simple PDA simulator for a^n b^n
Author-email: Ahmed Elsany <ahmedelsany12@gmail.com>
License: MIT
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.7
Description-Content-Type: text/markdown

أكيد! إليك نموذج **README.md** احترافي وجاهز للرفع على GitHub، مناسب تمامًا لهكيل مشروعك كما هو ظاهر في الصورة:

---

```markdown
# PDA aⁿbⁿ Simulator

This Python package simulates a Pushdown Automaton (PDA) for the context-free language aⁿbⁿ, where n ≥ 0.

## 📦 Project Structure

```
PDA/
├── src/
│   └── pda_anbn/
│       ├── __init__.py
│       └── core.py
├── tests/
│   └── test_core.py
├── test package.py
├── pyproject.toml
└── README.md
```

- **src/pda_anbn/__init__.py**: Contains the PDA simulation logic for aⁿbⁿ.
- **tests/test_core.py**: Unit tests for the PDA function.
- **test package.py**: Quick script to test the PDA with sample strings.

---

## 🚀 Usage

### Import and Use in Your Code

```
from src.pda_anbn import is_anbn

test_cases = ["ab", "aabb", "aaabbb", "aabbb", "abb", "aaaabbbb", "aab", "bbaa", ""]

for s in test_cases:
    print(f"String: '{s}' -> {'ACCEPTED' if is_anbn(s) else 'REJECTED'}")
```

### Example Output

```
String: 'ab' -> ACCEPTED
String: 'aabb' -> ACCEPTED
String: 'aaabbb' -> ACCEPTED
String: 'aabbb' -> REJECTED
String: 'abb' -> REJECTED
String: 'aaaabbbb' -> ACCEPTED
String: 'aab' -> REJECTED
String: 'bbaa' -> REJECTED
String: '' -> ACCEPTED
```

---

## 🧪 Running Tests

You can run the unit tests using [pytest](https://pytest.org):

```
pip install pytest
pytest tests/
```

---

## 📄 License

This project is licensed under the MIT License.

---


## 🌟 Notes

- The PDA accepts strings of the form aⁿbⁿ, where n ≥ 0 (including the empty string).
- To change acceptance criteria (e.g., n ≥ 1), adjust the logic in `__init__.py`.

---

```
