Skip to main content

A simple programming language with Farsi syntax that compiles to C

Project description

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

License Platform Version Build Status

یک زبان برنامه‌نویسی کاملاً فارسی با مفسر (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 تست بگیرید.

📝 مجوز

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


ساخته‌شده با عشق به فارسی 💚

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

farsiscript_lang-0.2.0.tar.gz (27.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

farsiscript_lang-0.2.0-py3-none-any.whl (30.0 kB view details)

Uploaded Python 3

File details

Details for the file farsiscript_lang-0.2.0.tar.gz.

File metadata

  • Download URL: farsiscript_lang-0.2.0.tar.gz
  • Upload date:
  • Size: 27.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.20

File hashes

Hashes for farsiscript_lang-0.2.0.tar.gz
Algorithm Hash digest
SHA256 893a0197d4f51b450279f08474d8688fdd88f7cd6638a4c45ba724cd78b626ed
MD5 d784e4ff6c2d04281edaa86261813813
BLAKE2b-256 8ec012a6e74887c72167854e208c688a75a19e6aa22bb36172e6d6b610238f00

See more details on using hashes here.

File details

Details for the file farsiscript_lang-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for farsiscript_lang-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 00749da3594bc8dc6c4ab59bb2527255ba0f1ff3b4bba7dad213b250f770cfe4
MD5 58dc58faf765f1e732b47f2372f68ade
BLAKE2b-256 036b5d073c166913011fe9a7408edc915b0fd112d531b004b5d1afa15c43fb4e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page