Skip to content

RFC: اللهجات الأصيلة القابلة للتوسّع — مستند وتجميع بُنى من الدرجة الأولى + معجم i686 العربيّ#43

Open
SalehKadah wants to merge 2 commits into
mainfrom
rfc/native-dialects

Conversation

@SalehKadah

Copy link
Copy Markdown
Contributor

ملخّص

مقترح يجعل لغة ص لغةً شاملةً عبر لهجات أصيلة بدل احتضان نصوص أجنبيّة خام، على المبدأ الحاكم:

النموذج الدلاليّ ملك ص، والصيغة الأجنبيّة مجرّد مخرَج.

  • لهجة «مستند»: بُنى وثائقيّة عربيّة من الدرجة الأولى تتجاوز ماركداون (استيفاء قيم حيّة، معادلات، مخطّطات، عرض_حيّ SadUI) + صنف ملفّ سياديّ .مستند بعارض مدمج في محراب، والتصدير إلى ماركداون/HTML خدمة أدوات بمصفوفة تنازل موثَّقة.
  • لهجة «تجميع»: أسمبلي عربيّ كامل — المنمنمات نفسها عربيّة فعل-أوّلًا والسجلّات بأسماء دلاليّة، بمعجم i686 مرفق (~65 تعليمة بحاجة النحلة) مرّ بمراجعتين لغويّتين (13 تصحيحًا ملزمًا + 6 إصلاحات ختاميّة مطبَّقة). يُغلق آخر بقايا C في النواة (sgdt/sidt).
  • التوسّع عبر مصدر الحقيقة: لهجات وعقد AST مولَّدة ومُصدِّرات كلّها في language-truth/ بschema، وإضافة أيّ منها قرار لغويّ عبر RFC.

قرارات المالك المحسومة في الوثيقة

السجلّات دلاليّة لـi686؛ توحيد البتّيّات على أسماء اللهجة (بدَين ترحيل متتبَّع)؛ تطبيع سياقيّ للمرادفات؛ الامتداد .مستند؛ بذرة مستند كاملة من البداية؛ الترحيل الداخليّ عند المساس؛ المستورِد مع م٣.

المراحل

م١ تجميع ⇒ م٢ توثيق ## + تحويم LSP ⇒ م٣ مستند مكتملة + .مستند + عارض + مُصدِّران + مستورِد.

🤖 Generated with Claude Code

SalehKadah and others added 2 commits July 22, 2026 05:33
…أولى + معجم i686 العربيّ

المبدأ الحاكم: النموذج الدلاليّ ملك ص، والصيغة الأجنبيّة مجرّد مخرَج.
- لهجة «مستند»: بُنى وثائقيّة تتجاوز ماركداون + امتداد .مستند سياديّ بعارض محراب
- لهجة «تجميع»: أسمبلي عربيّ كامل المنمنمات مع معجم i686 مراجَع لغويًّا
- التصدير (ماركداون/HTML) طبقة أدوات بمصفوفة تنازل موثَّقة
- قرارات المالك السبعة محسومة ومدوَّنة في الوثيقة

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
المراجعة الميدانيّة كشفت أنّ DOC_COMMENT وبنية DocComment بالوسوم العربيّة
وتحويم LSP الماركداونيّ ومستخرج docs قائمة مدموجة. أُعيدت صياغة الدافع
والشرح والتوافق الخلفيّ ونطاق م٢: توحيد المسارين (AST/نصّيّ) وسدّ فجوات
الالتصاق وعزل ## عن كتل اللهجات ولُحمة sadlang-docs.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
SalehKadah added a commit to sadlang/s-programming-language that referenced this pull request Jul 22, 2026
…س تفرّد canonical (#250)

* لغة: ترحيل المدمجات البتّيّة إلى أسماء لهجة التجميع (قرار المالك في rfcs#43)

توحيد معجم البتّيّات على أسماء اللهجة — كسر قاطع بلا مرادفات (نمط حملة
مدمجات العتاد فعل-أوّلًا #218):

- بت_و      ⇒ وافق
- بت_أو     ⇒ ضمّ         (canonical مجرّد: ضم)
- بت_حصري   ⇒ خالف
- بت_نفي    ⇒ اعكس_البتّات (canonical مجرّد: اعكس_البتات)
- بت_يسار   ⇒ أزح_يسارًا   (canonical مجرّد: أزح_يسارا)
- بت_يمين   ⇒ أزح_يمينًا   (canonical مجرّد: أزح_يمينا)

خارج النطاق عمدًا: بت_اختبار/بت_عيّن/بت_امسح — لم يشملها قرار التوحيد.

مصدر الحقيقة: language-truth/builtins/kernel_cpu.yaml (canonical مجرّد لأنّ
المُشكِّل يجرّد التشكيل من المعرّفات، وdescription_ar مشكول — نمط بت_عيّن
القائم) ⇒ py x.py gen ⇒ السجلّ المولَّد. المفسّر يطابق عبر ثوابت CPU_14–19
المولَّدة فلا تعديل يدويًّا.

المرجع: قسم «قرارات محسومة (قرارات المالك 2026-07-22)» في RFC اللهجات
الأصيلة + معجم i686 (sadlang/rfcs#43).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* لغة: تحديث ملاحظة معجم i686 — دَين ترحيل البتّيّات سُدّ

بعد ترحيل المدمجات البتّيّة إلى أسماء اللهجة، صارت ملاحظة «وافق» في
المعجم تصف دَينًا قائمًا وقد سُدّ — حُدّثت لتوثيق الحال الجديد.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* لغة: حسم تصادم «ضم» — دالة الأزواج صارت «زاوج» + حارس تفرّد canonical

مراجعة أميليا رصدت أنّ «ضم» البتّيّة الجديدة (KernelCpu، مجرّد «ضمّ»)
تصطدم بـ«ضم» القائمة (Maps::ZIP — اقتران مصفوفتين أزواجًا)، والمسجّل
يفهرس بالاسم وحده فيتقرّر الفائز بترتيب الاستيراد بصمت.

قرار المالك المحسوم: دالة الأزواج تُعاد تسميتها إلى «زاوج» والبتّيّة
تحتفظ بـ«ضمّ» — «زاوج» أدقّ دلالةً على الاقتران، و«ضمّ» ملتزمة بمعجم
لهجة التجميع الموحَّد (rfcs#43).

- SoT: maps.yaml (Maps::ZIP canonical ⇒ زاوج) + stdlib/functions.yaml
  (canonical ⇒ زاوج + إصلاح مثال التوثيق الخاطئ الذي كان يصوّرها دالة
  وصل نصوص ⇒ مثال zip حقيقيّ) ⇒ py x.py gen.
- interpreter/builtin_registry.cpp: جدول وحدات الاستيراد كان يحمل
  النصّ الحرفيّ ضم ⇒ ثابت Bmp::ZIP المولَّد (اتّساقًا مع قاعدة
  «لا سلاسل نصّيّة مباشرة»؛ بقيّة الجدول اليدويّ دَين قائم خارج النطاق).
- حارس جديد check_builtins_canonical_unique.py ضمن x.py gen --check:
  تفرّد canonical عبر كلّ نطاقات builtins/*.yaml بعد تجريد التشكيل
  (مرآة المُشكِّل، بلا طيّ همزات)، مع قائمة دَين موروث صريحة تنكمش فقط
  (12 تصادمًا قائمًا قبل ولادة الحارس). جُرّب سلبيًّا: إرجاع «ضم»
  القديمة يُفشل الحارس مسمّيًا الاسمين والملفّين.
- اختباران سلوكيّان: 149_zip_zawij (زاوج تقرن أزواجًا) +
  150_bitwise_dialect_names (البتّيّات الستّ بأسماء اللهجة) —
  @skip_compiler لأنّ المترجم لا يبني هذه المدمجات أصلًا (فجوة سابقة).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant