Metadata-Version: 2.4
Name: farsiscript-lang
Version: 0.2.5
Summary: A simple programming language with Farsi syntax that compiles to C
Author-email: Your Name <you@example.com>
License: MIT
Project-URL: Homepage, https://github.com/Dan13681989/farsiscript
Project-URL: Repository, https://github.com/Dan13681989/farsiscript.git
Project-URL: Issues, https://github.com/Dan13681989/farsiscript/issues
Keywords: farsi,compiler,language
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Software Development :: Compilers
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Dynamic: license-file


# زبان برنامه‌نویسی فارسی – FarsiScript

![License](https://img.shields.io/badge/license-MIT-blue)
![Platform](https://img.shields.io/badge/platform-macOS%20%7C%20Linux%20%7C%20Windows-lightgrey)
![Version](https://img.shields.io/badge/version-1.0.0-brightgreen)
![Build 
Status](https://github.com/Dan13681989/farsiscript/actions/workflows/test.yml/badge.svg)

<div dir="rtl">

یک زبان برنامه‌نویسی کاملاً فارسی با **مفسر (interpreter)** و **کامپایلر به زبان C**.

## 🚀 شروع سریع

```bash
./fs run برنامه.fs        # اجرای مستقیم
./fs compile برنامه.fs    # کامپایل به C و اجرا
```

## ✨ قابلیت‌ها

| قابلیت | مثال |
|--------|------|
| متغیرها و عملگرها | `x = 5 + 2 * 3` |
| رشته‌ها و الحاق | `"سلام " + "حسام"` |
| شرط چندگانه | `اگر (نمره > 90) { ... } درغیراینصورت اگر ...` |
| حلقه‌ها | `تاوقتی`, `برای عددی`, `برای روی آرایه/رشته/فرهنگ` |
| توابع | `تابع جمع(a, b) { برگردان a + b; }` |
| آرایه‌ها | `[1, 2, 3]` و `arr[0] = 10` |
| فرهنگ‌ها (دیکشنری) | `{"اسم": "حسام", "سن": 30}` |
| ورودی/خروجی | `خواندن`, `چاپ` |
| کار با فایل | `خواندن_فایل`, `نوشتن_فایل` |
| مدیریت خطا | `سعی کن { ... } بگیر (خطا) { ... }` |
| کلاس‌ها و اشیاء | `کلاس شخص { ... }` |
| کتابخانه استاندارد | `زمان_اکنون()`, `عدد_تصادفی()`, `اجرا()`, `تاریخ_امروز()` |
| اعداد فارسی | `۳.۱۴` و ورودی فارسی |
| نظرات | `// توضیح` |
| کامپایل به C | `./fs compile file.fs` |

## 📦 نصب

```bash
pip install -e .
# یا
python setup.py install
```

پس از نصب، دستور `farsiscript` در دسترس خواهد بود.

## 📖 مثال‌های بیشتر

### کلاس‌ها و اشیاء
```farsi
کلاس شخص {
    تابع جدید(نام, سن) {
        این.نام = نام;
        این.سن = سن;
    }
    تابع معرفی() {
        چاپ "اسم: " + این.نام + " سن: " + این.سن;
    }
}
حسام = شخص("حسام", 30);
حسام.معرفی();
```

### مدیریت خطا
```farsi
سعی کن {
    خطا_بده("مشکل در برنامه");
} بگیر (خطا) {
    چاپ "خطا رخ داد: " + خطا;
}
```

### وارد کردن ماژول
```farsi
استفاده از "کتابخانه.fs";
سلام("حسام");
```

## 📁 ساختار پروژه

- `tokenizer.py` – تحلیل واژگان
- `parser.py` – تحلیل نحوی
- `evaluator.py` – اجرا (مفسر)
- `compiler.py` – تولید کد C و کامپایل
- `main.py` – نقطهٔ شروع مفسر
- `fs` – ابزار خط فرمان یکپارچه

## 🤝 مشارکت

ایده‌ها و پیشنهادها خوش‌آمدند!  
برای توسعه، فایل‌های `.py` را ویرایش کنید و با `./fs run` تست بگیرید.

## 📝 مجوز

پروژه به صورت آزاد و رایگان ارائه می‌شود.  
هرگونه استفاده، تغییر و انتشار با ذکر منبع مجاز است.

---

ساخته‌شده با عشق به فارسی 💚
</div>
