Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

دليل مطوّري لغة ص

الأنظمة الداخلية — من المصدر إلى التنفيذ

كيف تعمل لغة ص من الداخل، وكيف تُسهم في تطويرها بثقة: معجمي → نحوي → AST → مفسّر/مترجم، فوق مصدر حقيقة موحّد.

لمن هذا الدليل؟ لمن يطوّر لغة ص نفسها (المفسّر، المترجم sadc، الأنظمة الداخلية) — لا لمن يكتب برامج بها. إن كنت تكتب فهذا الدليل ليس لك.

ابدأ من هنا

فلسفة لغة ص الداخلية في سطور

  • معماريّة طبقيّة صارمة: 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).


اقرأ بعده: إعداد البيئة والبناء · أو تصفّح حالة الدليل.