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 برنامجي.ص