Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 6 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,14 +21,18 @@ jobs:
- name: جلب المستودع
uses: actions/checkout@v4

# (AR) نسخةٌ مثبَّتةٌ لا «latest»: قياساتُ الثيم (حاويةُ الجدول `.table-wrapper`،
# بنيةُ `print.html`، مُعرِّفاتُ العناوين العربيّة الخام) أُجريت على 0.5.4،
# وحرّاسُ `theme/page-toc.js` مبنيّةٌ عليها. ترقيةٌ صامتةٌ في «latest» تُبطلها
# بلا إنذار. الترقيةُ قرارٌ يُراجَع في PR لا حدثٌ يقع من تلقائه.
- name: تثبيت mdBook
uses: peaceiris/actions-mdbook@v2
with:
mdbook-version: latest
mdbook-version: "0.5.4"

- name: تثبيت mdbook-mermaid + أصوله
run: |
cargo install mdbook-mermaid --locked
cargo install mdbook-mermaid --version 0.17.0 --locked
mdbook-mermaid install .

- name: البناء
Expand Down
8 changes: 6 additions & 2 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,14 +26,18 @@ jobs:
- name: جلب المستودع
uses: actions/checkout@v4

# (AR) نسخةٌ مثبَّتةٌ لا «latest»: قياساتُ الثيم (حاويةُ الجدول `.table-wrapper`،
# بنيةُ `print.html`، مُعرِّفاتُ العناوين العربيّة الخام) أُجريت على 0.5.4،
# وحرّاسُ `theme/page-toc.js` مبنيّةٌ عليها. ترقيةٌ صامتةٌ في «latest» تُبطلها
# بلا إنذار. الترقيةُ قرارٌ يُراجَع في PR لا حدثٌ يقع من تلقائه.
- name: تثبيت mdBook
uses: peaceiris/actions-mdbook@v2
with:
mdbook-version: latest
mdbook-version: "0.5.4"

- name: تثبيت mdbook-mermaid + أصوله
run: |
cargo install mdbook-mermaid --locked
cargo install mdbook-mermaid --version 0.17.0 --locked
mdbook-mermaid install .

- name: البناء
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,4 @@ mermaid-init.js
.DS_Store
Thumbs.db
*.swp
__pycache__/
2 changes: 1 addition & 1 deletion book.toml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ preferred-dark-theme = "navy"
git-repository-url = "https://github.com/sadlang/dev-guide"
edit-url-template = "https://github.com/sadlang/dev-guide/edit/main/{path}"
additional-css = ["theme/rtl.css", "theme/custom.css"]
additional-js = ["theme/font-zoom.js"]
additional-js = ["theme/font-zoom.js", "theme/page-toc.js"]
mathjax-support = false

[output.html.fold]
Expand Down
2 changes: 1 addition & 1 deletion src/SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@
- [المفسّر الشجري (Interpreter)](backend/interpreter.md)
- [التمثيل الوسيط SIR](backend/sir.md)
- [توليد LLVM (المترجم sadc)](backend/llvm.md)
- [الآلة الافتراضية (VM)](backend/vm.md)
- [الخلفيّة الأصليّة بلا LLVM (SIR → ELF64)](backend/native.md)
- [دراسة حالة: توحيد هاش/شفّر/فك_تشفير](backend/crypto-unification.md)
- [دراسة حالة: توسيع مكتبة التشفير (٥ مراحل + Argon2id)](backend/crypto-library-expansion.md)

Expand Down
5 changes: 3 additions & 2 deletions src/architecture/overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@
| النواة المشتركة | `shared/` | معجمي، نحوي، AST، نظام الأنواع `Value`، نظام الأخطاء |
| المفسّر | `interpreter/` | مفسّر شجريّ؛ `InterpreterCore` يدير المتغيّرات والدوال والنطاقات والتقييم |
| المترجم | `compiler/` | AST → SIR → LLVM IR → ملفّ تنفيذيّ (SIR يدعم تعليمات ملكية) |
| الآلة الافتراضية | `vm/` | بايت كود مرتبط مباشرةً بالمفسّر |
| الخلفيّة الأصليّة | `compiler/include/backend/native/` | SIR → شيفرة آلة → ELF64 ساكن بلا LLVM ولا رابطٍ أجنبيّ — [الفصل](../backend/native.md) |
| ~~الآلة الافتراضية~~ | — | `vm/` أُزيل من الشجرة بالإيداع `bcf0a746` («ستُعاد كتابتها من الصفر») — لا فصل له حتّى تُكتب |
| المكتبة القياسية | `stdlib/` | وحدات عربية: core/io/math/string/network/graphics |
| الأدوات | `tools/` | lsp · formatter · pkg · repl · sadc CLI · sadinfo |
| مصدر الحقيقة | `language-truth/` | YAML SoT لكل بيانات اللغة + القواعد |
Expand All @@ -26,7 +27,7 @@ flowchart TD
SRC["مصدر .ص (UTF-8)"] --> LEX["LexerCore<br/>shared/lexer"]
LEX --> PAR["ParserCore<br/>shared/parser"]
PAR --> AST["AST<br/>shared/ast"]
AST --> INT["InterpreterCore / VM<br/>(تنفيذ فوريّ)"]
AST --> INT["InterpreterCore<br/>(تنفيذ فوريّ)"]
AST --> SIR["SIRBuilder<br/>compiler/src/frontend"]
SIR --> OPT["SIROptimizer"]
OPT --> LLVM["LLVMCodeGen<br/>compiler/src/backend/llvm"]
Expand Down
3 changes: 2 additions & 1 deletion src/backend/crypto-library-expansion.md
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,8 @@ AEAD في **نفس** القطعة بعد حلّ التعارض أعاد تجاو
## الاختبار

كل مرحلة أضافت ملفّات إلى
`tests/behavior/sections/09_المكتبة_القياسية/04_تشفير/` (14 ملفًّا إجمالًا)،
`tests/behavior/sections/09_المكتبة_القياسية/04_تشفير/` (**20 ملفًّا** في `dev` اليوم؛
كانت 14 عند كتابة الفصل)،
كلّ واحد يُشغَّل عبر `sad-run.exe` **و**`sadc.exe` ويُقارَن الناتج حرفيًّا —
شعاعات RFC/مسابقة رسميّة لكل معيار (BLAKE3-team، RFC 2898/5869/7748/8032/8439/
9106)، إضافة إلى حالات رفض صريحة (سرّ مشترك كلّه أصفار في X25519، توقيع/مفتاح
Expand Down
2 changes: 1 addition & 1 deletion src/backend/llvm.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,4 +37,4 @@ flowchart LR
- **أصلِح في الطبقة الصحيحة:** خطأ تحويل أنواع يُصلَح في codegen؛ خطأ ترتيب حقول في `SIRBuilder` (BF-10).

---
**اقرأ بعده:** [الآلة الافتراضية](vm.md).
**اقرأ بعده:** [الخلفيّة الأصليّة بلا LLVM](native.md).
Loading
Loading