Skip to content

إعادة تأليف التعليقات والرسائل العربيّة المفقودة (???): 505 أسطر في 10 ملفّات#137

Open
SalehKadah wants to merge 1 commit into
devfrom
fix/rewrite-lost-arabic-comments
Open

إعادة تأليف التعليقات والرسائل العربيّة المفقودة (???): 505 أسطر في 10 ملفّات#137
SalehKadah wants to merge 1 commit into
devfrom
fix/rewrite-lost-arabic-comments

Conversation

@SalehKadah

Copy link
Copy Markdown
Collaborator

الجذر — الدَّين المتبقّي من شريحة الترميز #135

بخلاف تلف cp1255 القابل للعكس الذي استعادته #135 آليًّا، هذه الأسطر دُمّرت إلى علامات استفهام حرفيّة (?????) في التزام التقسيم القديم (94f44f75) نفسه — أي وُلدت الملفّات مدمَّرةً: لا سلف نظيف في git ولا عكس ممكن. الحلّ الوحيد: إعادة تأليف.

المنهج

  • مصادر الدقّة: الأنصاف الإنجليزيّة المرافقة (نمط AR/EN)، فهم الكود المحيط، مصدر الحقيقة builtin_registry_generated.h لأسماء الطرق العربيّة، وفكّ سلاسل hex المهرَّبة (\xD8...) في الكود نفسه.
  • 482 سطر تعليق في 9 ملفّات (frontend builders: expression_objects، call_method_dispatch، method_call_array_hof/basic، template_lambda/type_inference، method_call_string_map + cse_pass + class_nodes.h) — 3 وكلاء متوازون بقواعد صارمة (سطر بسطر، عدد الأسطر محفوظ، أسلوب الملفّ).
  • 23 سلسلة تنفيذيّة في compiler_driver_backend.cpp — رسائل report_fatal/cout كانت تُطبع ????? للمستخدم فعليًّا (مثل «فشل تهيئة الواجهة الخلفية LLVM»، «فشل ربط المكتبة المشتركة»).
  • مراجعة Amelia بصلاحيّة تحرير: 8 تصحيحات — أدقّها تعليق سمّى الطريقة «حجم» فوق فرع يطابق LENGTH="الطول"، واختزال أسماء «عكس» الزائدة عن الفرع الفعليّ، وتوحيد المصطلحات («تعاودي»، «لامبدا» داخل ملفّها، «منفَّذة»).

التحقّق

  • فحص بنيويّ آليّ (تجريد التعليقات + تفريغ السلاسل + مقارنة سيل الرموز مقابل HEAD): صفر تغيير تنفيذيّ في الملفّات التسعة، وصفر تغيير خارج محتوى السلاسل الـ23 في العاشر (escape sequences سليمة).
  • تحقّق أمانة: تطابق أعداد ? المدمَّرة مع أحرف الكلمات المعاد تأليفها في السلاسل والعناوين.
  • صفر ??/ متبقٍّ في الملفّات العشرة (عدا ternary شرعيّ في cse_pass:272)؛ UTF-8 صالح؛ BOM كما كان.
  • بناء كامل من الصفر: sad-build + sad-run نظيفان (Release، 0 أخطاء).

الأثر

بدمج هذا الـPR يُغلق دَين الترميز في شجرة المصادر بالكامل: لا mojibake معكوسًا (#135) ولا ??? فاقدًا (هنا).

🤖 Generated with Claude Code

…0 ملفّات

استكمال شريحة الترميز (#135): هذه الأسطر دُمّرت إلى علامات استفهام
حرفيّة في التزام التقسيم القديم (94f44f7) نفسه — لا سلف نظيف في
git ولا عكس ممكن، فأُعيد تأليفها من الأنصاف الإنجليزيّة المرافقة
وفهم الكود ومصدر الحقيقة (builtin_registry_generated.h وفكّ سلاسل
hex المهرَّبة).

- 482 سطر تعليق عبر 9 ملفّات (frontend builders + cse_pass +
  class_nodes.h) بثلاث مجموعات متوازية.
- 23 سلسلة تنفيذيّة في compiler_driver_backend.cpp (رسائل
  report_fatal/cout كانت تُطبع ????? للمستخدم).
- مراجعة Amelia: 8 تصحيحات (أدقّها: تعليق «حجم» فوق فرع «الطول»،
  اختزال أسماء «عكس»، توحيد «تعاودي»/«لامبدا»/«منفَّذة»).

التحقّق: فحص بنيويّ آليّ (تجريد التعليقات + مقارنة سيل الرموز) =
صفر تغيير تنفيذيّ في 9 ملفّات وصفر خارج محتوى السلاسل في العاشر؛
صفر ??/U+FFFD متبقٍّ (عدا ternary شرعيّ)؛ UTF-8 صالح وBOM محفوظ؛
بناء sad-build + sad-run كامل نظيف.

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