Skip to content

RFC: خارطة طريق الاستضافة الذاتيّة لمترجم ص + عزل الفجوات اللغويّة الحاجزة#52

Open
SalehKadah wants to merge 2 commits into
mainfrom
rfc/self-hosting-roadmap
Open

RFC: خارطة طريق الاستضافة الذاتيّة لمترجم ص + عزل الفجوات اللغويّة الحاجزة#52
SalehKadah wants to merge 2 commits into
mainfrom
rfc/self-hosting-roadmap

Conversation

@SalehKadah

Copy link
Copy Markdown
Contributor

ملخّص

RFC خارطة طريق إستراتيجيّ للاستضافة الذاتيّة (Self-Hosting): إعادة كتابة مترجم ص — المكتوب اليوم بـ C++ (‏~٢٢٣ ألف سطر فوق LLVM) — بلغة ص نفسها. لا يقترح تنفيذًا دفعةً واحدة (جهد سنوات)، بل يُثبّت المسار المرحليّ (م٠–م٥) ويعزل الفجوات اللغويّة الحاجزة كوحدات عمل قابلة للإسناد.

المنهج

مبنيّ على فحص فعليّ للكود (مترجم ص + نواة nahla)، كلّ ادّعاء مقرون بمسار ملفّ ورقم سطر، ومُراجَع نقديًّا مراجعةً صارمة (صُحِّح خطأ واقعيّ في تأطير حاجز الخلفيّة + عيوب دقّة قبل الفتح).

أبرز الاستنتاجات

  • الأساس اللغويّ مُثبَت: نواة nahla (~٨٫٧ ألف سطر ص خالصة، تُقلع على QEMU) برهان جاهزيّة ص للبرمجة النظاميّة.
  • الحاجز الأوّل ليس الواجهة الأماميّة بل الخلفيّة — التوصية الحاسمة: خلفيّة LLVM-IR نصّيّة لا ربط libLLVM (الاستدعاء الخارجيّ نفذ_امر قدرة قائمة مستقرّة).
  • ٧ حواجز مؤطَّرة كـRFCs فرعيّة: الخلفيّة، الأنواع الجبريّة الموسومة + نمط الباني، FFI بنيويّ، الوحدات على المقياس، إثبات المقياس، الإغلاقات، معالجة الأخطاء المسترجَعة.
  • التقدير: ‏٢–٣ سنوات لفريق صغير مركّز حتى تكافؤ LLVM.

الحالة

مقترَح (PR مفتوح) — يأخذ رقمه الرسميّ عند الدمج.

SalehKadah and others added 2 commits July 24, 2026 12:13
…حاجزة

مقترح خارطة طريق مرحليّة (م٠–م٥) لإعادة كتابة مترجم ص (~٢٢٣ ألف سطر C++
فوق LLVM) بلغة ص نفسها. يعزل سبعة حواجز، كلٌّ مؤطَّر كوحدة عمل قابلة للإسناد:
الخلفيّة (توصية: LLVM-IR نصّيّ لا libLLVM)، الأنواع الجبريّة الموسومة + نمط
الباني، FFI بنيويّ، الوحدات على المقياس، إثبات المقياس، الإغلاقات، ومعالجة
الأخطاء المسترجَعة. مبنيّ على فحص فعليّ للكود (كلّ ادّعاء بمسار+سطر) ومُراجَع
نقديًّا.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…جة (الملحق أ)

دمج المواصفة التفصيليّة الجاهزة للتنفيذ للحاجز ٢ (ADT + نمط الباني) في RFC
القائم بدل تركه RFC فرعيًّا: صياغة، أثر على كلّ نظام متشابك (SoT/parser/AST/
semantic/مفسّر/مترجم/أخطاء)، تخطيط زمن-تشغيليّ وcodegen، خطّة مرحليّة (أ-م١..أ-م٥)،
وأسئلة غير محسومة. مع تصحيح صياغة المطابقة في المثال التوجيهيّ من «=>» إلى
«عندما <نمط>:» الفعليّة.

مُراجَع بأميليا: تسمية رمز الخطأ بعُرف SEM_ (SEM_NON_EXHAUSTIVE_MATCH) + إعادة
استعمال SEM_WRONG_ARG_COUNT القائم، وحسم دلالة «= N» كتثبيت للمُميِّز/الوسم.

Co-Authored-By: Claude Opus 4.8 (1M context) <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