قواعد النحو (Grammar)
نحوُ لغة ص موصوفٌ وصفًا رسميًّا مدفوعًا بالبيانات (data-driven): كلّ قاعدة إنتاج
مكتوبة بصيغة EBNF ومربوطة بدالة التحليل الفعليّة في المحلّل (حقل maps_to)، فيتحقّق
الـCI من تطابق الوصف مع السلوك. هذا يجعل النحو مصدرَ حقيقة قابلًا للتنفيذ لا مجرّد
توثيق.
المصدر:
language-truth/grammar/— موزّع على ثماني طبقات.
طبقات القواعد
| الملفّ | الطبقة | يغطّي |
|---|---|---|
00_program.yaml | البرنامج | الجذر، التصريح الأعلى، الكتلة |
10_statements.yaml | الجُمل | الإسناد، الشروط، الحلقات، التحكّم |
20_declarations.yaml | التصريحات | المتغيّرات، الدوال، الوحدات |
30_oop.yaml | الكائنيّة | الأصناف، البنى، التعدادات، الوراثة |
40_expressions.yaml | التعبيرات | العوامل، الاستدعاءات، الوصول |
50_patterns.yaml | الأنماط | طابق/عندما/افتراضي |
60_advanced.yaml | المتقدّمة | التزامن، القوالب، فضاءات الأسماء |
70_lexical.yaml | المعجميّة | الرموز، القيم الحرفيّة، المُعرِّفات |
صيغة الترميز (EBNF)
تتبع القواعد ترميز EBNF القياسيّ:
{ X }تكرار صفر أو أكثر.[ X ]اختياريّ.X | Yبديل.( ... )تجميع.- الطرفيّات تشير إلى المعجم ولا تُعرَّف داخل ملفّات النحو.
أمثلة من القواعد
البنية العليا للبرنامج والكتلة (الكتلة تُغلَق دائمًا بـنهاية):
Program = { Declaration } EOF ;
Block = { Statement } "نهاية" ;
IfStmt = "إذا" Expression Block [ "وإلا" Block ] ;
WhileStmt = "بينما" Expression Block ;
ForStmt = "لكل" Identifier "في" Expression Block ;
FuncDecl = "دالة" Identifier "(" [ ParamList ] ")" [ ":" Type ] Block ;
MatchStmt = "طابق" Expression { "عندما" Pattern Block } [ "افتراضي" Block ] "نهاية" ;
هذه الأمثلة توضيحيّة للقارئ؛ الصيغة الرسميّة الكاملة (مع
alternativesوmaps_toوast_nodeلكلّ قاعدة) في ملفّاتlanguage-truth/grammar/.
مبادئ نحويّة ثابتة
- كلّ كتلة تُغلَق بـ
نهاية(عدا كتلباستخدامالتي تُغلَق بـنهاية_استخدام). - الفواصل متكافئة:
،≡,و؛≡;. - التعليقات: سطريّ
#، كتليّ#* ... *#، توثيقيّ##. - الرموز العربيّة حصريّة حيث نُصَّ عليها (مثل
؟= U+061F لأمان العدم والثلاثيّ).
التوثيق المُولَّد
تُولَّد صفحات قواعد المحلّل آليًّا من هذا المصدر إلى
docs/parser_rule/_generated في المستودع الأساسيّ عبر gen_parser_grammar_docs.py،
فيبقى التوثيق متزامنًا مع السلوك.
انظر أيضًا
- الكلمات المحجوزة الأربعون — الطرفيّات التي تشير إليها القواعد.
- مصدر الحقيقة الموحّد — فلسفة الـ data-driven.