دليل مطوّري لغة ص
الأنظمة الداخلية — من المصدر إلى التنفيذ
كيف تعمل لغة ص من الداخل، وكيف تُسهم في تطويرها بثقة: معجمي → نحوي → AST → مفسّر/مترجم، فوق مصدر حقيقة موحّد.
لمن هذا الدليل؟ لمن يطوّر لغة ص نفسها (المفسّر، المترجم
sadc، الأنظمة الداخلية) — لا لمن يكتب برامج بها. إن كنت تكتب.صفهذا الدليل ليس لك.
ابدأ من هنا
⚙️البدء
إعداد البيئة، البناء، وأوّل مساهمة.
🗺️المعمارية
الطبقات وخطّ الأنابيب والتشابك.
⭐مصدر الحقيقة يميّزنا
النظام المدفوع بالبيانات (data-driven).
🔤الواجهة الأماميّة
المعجمي · النحوي · AST.
⚡الواجهة الخلفيّة
المفسّر · SIR · LLVM · VM.
🌿المساهمة
فروع dev · worktrees · PR موقّع.
فلسفة لغة ص الداخلية في سطور
- معماريّة طبقيّة صارمة:
Lexer → Parser → AST → (Interpreter | SIR → LLVM). كل طبقة تعتمد فقط على ما تحتها. - مدفوعة بالبيانات (data-driven): بيانات اللغة وقواعدها النحويّة تعيش في
language-truth/كمصدر موحّد (YAML)، ويُولَّد منها كود C++ والتوثيق. هذا جوهر تميّزنا. - عربيّة أصيلة: الكلمات المفتاحيّة والمعرّفات بالعربية، UTF-8، والكتل تُغلَق بـ«نهاية».
- تنفيذ مزدوج: كل ميزة تعمل في المفسّر والمترجم (أو تُعفى صراحةً).
كيف يختلف عن rustc-dev-guide؟
استلهمنا أفضل ما فيه (mdBook، التتبّع للكود، فصل المساهمة) وأضفنا طبقةً لا يملكها:
flowchart LR
subgraph sad["دليل لغة ص"]
S1["language-truth/*.yaml<br/>مصدر موحّد"] --> S2["codegen<br/>gen_*.py"]
S2 --> S3["كود C++ مُولَّد"]
S1 --> S4["توثيق + مخطّطات مُولَّدة"]
end
مصدر حقيقة موحّد للقواعد والبيانات · توثيق مُولَّد لا يتقادم · مخطّطات Mermaid منهجيّة ·
سير مساهمة حديث (worktrees + فرع dev محميّ + PR موقّع GPG).
اقرأ بعده: إعداد البيئة والبناء · أو تصفّح حالة الدليل.