زبان برنامهنویسی فارسی – FarsiScript
یک زبان برنامهنویسی کاملاً فارسی با مفسر (interpreter) و کامپایلر به زبان C.
🚀 شروع سریع
./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 |
📦 نصب
pip install -e .
# یا
python setup.py install
پس از نصب، دستور farsiscript در دسترس خواهد بود.
📖 مثالهای بیشتر
کلاسها و اشیاء
کلاس شخص {
تابع جدید(نام, سن) {
این.نام = نام;
این.سن = سن;
}
تابع معرفی() {
چاپ "اسم: " + این.نام + " سن: " + این.سن;
}
}
حسام = شخص("حسام", 30);
حسام.معرفی();
مدیریت خطا
سعی کن {
خطا_بده("مشکل در برنامه");
} بگیر (خطا) {
چاپ "خطا رخ داد: " + خطا;
}
وارد کردن ماژول
استفاده از "کتابخانه.fs";
سلام("حسام");
📁 ساختار پروژه
tokenizer.py– تحلیل واژگانparser.py– تحلیل نحویevaluator.py– اجرا (مفسر)compiler.py– تولید کد C و کامپایلmain.py– نقطهٔ شروع مفسرfs– ابزار خط فرمان یکپارچه
🤝 مشارکت
ایدهها و پیشنهادها خوشآمدند!
برای توسعه، فایلهای .py را ویرایش کنید و با ./fs run تست بگیرید.
📝 مجوز
پروژه به صورت آزاد و رایگان ارائه میشود.
هرگونه استفاده، تغییر و انتشار با ذکر منبع مجاز است.
ساختهشده با عشق به فارسی 💚
Metadata
Release files for farsiscript-lang 0.2.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| farsiscript_lang-0.2.5.tar.gz | 27.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| farsiscript_lang-0.2.5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 57.4 kB
Release files / farsiscript_lang-0.2.5.tar.gz
| Download URL | farsiscript_lang-0.2.5.tar.gz |
|---|---|
| Size | 27.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5483a1afc5a414d4a1536706e52f6cbfcc133074793ab5e504ce23bf4ee952ce
|
|
BLAKE2b-256 checksum How to use checksums |
d4ee997faf32c927d09e2141bd7f6457f095f2d85c2dd034e6c2166958db8622
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.20
|
Release files / farsiscript_lang-0.2.5-py3-none-any.whl
| Download URL | farsiscript_lang-0.2.5-py3-none-any.whl |
|---|---|
| Size | 30.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2c593db189ac51c12f927be05b099704bc96659a7dbb49e1d2c0ecbb3edabb68
|
|
BLAKE2b-256 checksum How to use checksums |
d08995f065bd37e1f25db6525c0fb71a6367edbcac2eca68a00692f58f07ac86
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.20
|