Skip to content

sad-build — المترجِّمُ الأصيل (LLVM)

يحوّل كود لغة ص إلى ملف تنفيذي أصيل عبر LLVM 18.

محرّكُ اللغةِ الوحيد

لا مفسّرَ في لغة ص ولا آلةَ بايت‑كود. فالاستعمالُ خطوتان دائماً: ترجمةٌ تُنتِجُ ثنائيًّا أصيلًا، ثمّ تشغيلُ ذلك الثنائيّ.

bash
# ترجمة ثمّ تشغيل
sad-build برنامجي.ص -o برنامجي
./برنامجي

# مستوى التحسين
sad-build -O0 برنامجي.ص   # بدون تحسين (للتطوير)
sad-build -O2 برنامجي.ص   # تحسين معتدل
sad-build -O3 برنامجي.ص   # أقصى تحسين

# عرض LLVM IR
sad-build --أظهر-llvm برنامجي.ص

# هدف محدد
sad-build --هدف x86_64-linux-gnu برنامجي.ص
sad-build --هدف aarch64-apple-macosx12 برنامجي.ص

# الربط بمكتبات خارجية
sad-build برنامجي.ص -L/usr/lib -lm

المتطلبات

يتطلب LLVM 18 — مدمج بالكامل في sad-build (لا تثبيت منفصل).


ماذا يعطيك المترجِّم

الجانبالتفصيل
المخرَجملفٌّ تنفيذيٌّ أصيلٌ مستقلّ — يعمل عند من لم يثبّتْ لغة ص
المسار → AST → SIR → LLVM IR → ثنائيّ
التشخيصكلُّ رفضٍ برمزٍ من الكتالوج (SEM001 · RUN002 · SYN009 …) ونصٍّ عربيٍّ وإنجليزيٍّ وسطرِ علاج
خطوةُ البناءلازمةٌ قبلَ كلِّ تشغيل — لا يُنفَّذُ ملفُّ مباشرةً

مثال كامل

bash
# 1. كتابة البرنامج
cat > مرحبا.ص << 'SAD'
دالة رئيسية()
    اطبع_سطر("مرحبا بالعالم!")
نهاية
SAD

# 2. الترجمة
sad-build مرحبا.ص -o مرحبا

# 3. التشغيل
./مرحبا
# الخرج: مرحبا بالعالم!

خيارات متقدمة

bash
# طباعة معلومات التشخيص
sad-build --verbose برنامجي.ص

# تعطيل أمان الذاكرة (للأداء القصوى)
sad-build --unsafe برنامجي.ص

# تحديد حجم stack
sad-build --stack-size 8MB برنامجي.ص

# إضافة معلومات debug
sad-build -g برنامجي.ص

← الأدوات الأخرى

مُرخَّص بموجب رخصة MIT