https://github.com/dan13681989/farsiscript
یک زبان برنامهنویسی فارسی با مفسر و کامپایلر به C – FarsiScript
https://github.com/dan13681989/farsiscript
c compiler farsi interpreter persian persian-language programming-language scripting-language
Last synced: 13 days ago
JSON representation
یک زبان برنامهنویسی فارسی با مفسر و کامپایلر به C – FarsiScript
- Host: GitHub
- URL: https://github.com/dan13681989/farsiscript
- Owner: Dan13681989
- License: mit
- Created: 2026-06-06T17:08:40.000Z (17 days ago)
- Default Branch: main
- Last Pushed: 2026-06-06T18:33:44.000Z (17 days ago)
- Last Synced: 2026-06-06T19:14:05.138Z (17 days ago)
- Topics: c, compiler, farsi, interpreter, persian, persian-language, programming-language, scripting-language
- Language: GLSL
- Homepage:
- Size: 72.3 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# زبان برنامهنویسی فارسی – FarsiScript




یک زبان برنامهنویسی کاملاً فارسی با **مفسر (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` تست بگیرید.
## 📝 مجوز
پروژه به صورت آزاد و رایگان ارائه میشود.
هرگونه استفاده، تغییر و انتشار با ذکر منبع مجاز است.
---
ساختهشده با عشق به فارسی 💚