قواعد اللغة
قواعد اللغة
Section titled “قواعد اللغة”مواصفات قواعد لغة كنوز الرسمية وبنية النحو.
البنية العامة
Section titled “البنية العامة”البرنامج
Section titled “البرنامج”برنامج = { عنصر }عنصر = دالة | هيكل | تعداد | سمة | تنفيذ | ثابتالدالة
Section titled “الدالة”// الصيغة العامةدالة اسم_الدالة(معامل١: نوع١, معامل٢: نوع٢) -> نوع_الإرجاع { جملة; جملة; أرجع قيمة;}
// أمثلةدالة مرحبا() { اطبع("مرحباً");}
دالة جمع(أ: صحيح, ب: صحيح) -> صحيح { أرجع أ + ب;}
دالة عملية<ن>(قيمة: ن) -> ن { أرجع قيمة;}الهيكل
Section titled “الهيكل”// الصيغة العامةهيكل اسم_الهيكل { حقل١: نوع١, حقل٢: نوع٢}
// مع أنواع عامةهيكل اسم_الهيكل<ن> { حقل: ن}
// مع ثوابت عامةهيكل اسم_الهيكل<ن, ثابت حجم: صحيح> { عناصر: [ن; حجم]}التعداد
Section titled “التعداد”// بسيطتعداد لون { أحمر, أخضر, أزرق}
// مع قيم مرفقةتعداد حالة { متصل, منفصل, جاري(صحيح), خطأ(نص)}سمة اسم_السمة { دالة طريقة(&ذاتي); دالة طريقة_أخرى(&متغير ذاتي, قيمة: صحيح) -> صحيح;}
// مع أنواع مرتبطةسمة مجموعة { نوع عنصر; دالة أضف(&متغير ذاتي, ع: عنصر);}التنفيذ
Section titled “التنفيذ”// تنفيذ طرقنفذ اسم_الهيكل { دالة جديد() -> ذاتي { أرجع ذاتي { }; }}
// تنفيذ سمةنفذ اسم_السمة لـ اسم_الهيكل { دالة طريقة(&ذاتي) { // التنفيذ }}التعريف
Section titled “التعريف”// متغير ثابتدع اسم = قيمة;دع اسم: نوع = قيمة;
// متغير قابل للتغييردع متغير اسم = قيمة;دع متغير اسم: نوع = قيمة;الإسناد
Section titled “الإسناد”اسم = قيمة_جديدة;اسم += قيمة;اسم -= قيمة;اسم *= قيمة;اسم /= قيمة;// if-elseإذا شرط { جمل;}
إذا شرط { جمل;} وإلا { جمل;}
إذا شرط١ { جمل;} وإلا إذا شرط٢ { جمل;} وإلا { جمل;}الحلقات
Section titled “الحلقات”// whileطالما شرط { جمل;}
// for-inلكل عنصر في مجموعة { جمل;}
// for-rangeلكل ت في بداية..نهاية { جمل;}
لكل ت في بداية..=نهاية { جمل;}
// infinite loopكرر { جمل; إذا شرط { أوقف; }}المطابقة
Section titled “المطابقة”طابق تعبير { نمط١ => { جمل; } نمط٢ => { جمل; } _ => { جمل_افتراضية; }}
// أنماط متعددةطابق قيمة { 1 | 2 | 3 => { جمل; } 4..=10 => { جمل; } _ => { }}
// مطابقة مع استخراجطابق اختياري { بعض(ق) => { استخدم(ق); } عدم => { }}معالجة الأخطاء
Section titled “معالجة الأخطاء”جرب { جمل;} التقط متغير_الخطأ { جمل;}
جرب { جمل;} التقط متغير_الخطأ { جمل;} أخيرا { جمل;}
ألق "رسالة الخطأ";التحكم في التدفق
Section titled “التحكم في التدفق”أرجع قيمة; // إرجاع قيمةأرجع; // إرجاع بدون قيمةأوقف; // الخروج من الحلقةتابع; // تخطي للتكرار التاليالتعبيرات
Section titled “التعبيرات”الأساسية
Section titled “الأساسية”// الحرفية42 // صحيح3.14 // عشري"نص" // نص'ح' // حرفصح / خطأ // منطقي
// المتغيراتاسم_المتغير
// استدعاء دالةاسم_الدالة(معامل١, معامل٢)
// الوصول للحقلهيكل.حقل
// الوصول للمصفوفةمصفوفة[فهرس]العمليات
Section titled “العمليات”// حسابيةتعبير + تعبيرتعبير - تعبيرتعبير * تعبيرتعبير / تعبيرتعبير % تعبير
// مقارنةتعبير == تعبيرتعبير != تعبيرتعبير < تعبيرتعبير > تعبيرتعبير <= تعبيرتعبير >= تعبير
// منطقيةتعبير و تعبيرتعبير أو تعبير!تعبير
// البتتعبير & تعبيرتعبير | تعبيرتعبير ^ تعبيرتعبير << تعبيرتعبير >> تعبيرإنشاء القيم
Section titled “إنشاء القيم”// مصفوفة[قيمة١, قيمة٢, قيمة٣][قيمة; عدد]
// صف(قيمة١, قيمة٢, قيمة٣)
// هيكلاسم_الهيكل { حقل١: قيمة١, حقل٢: قيمة٢ }
// تعداداسم_التعداد::قيمةاسم_التعداد::قيمة(معامل)
// لامدا|معامل١: نوع١, معامل٢: نوع٢| -> نوع_الإرجاع { جمل }|معامل| تعبيرالمراجع
Section titled “المراجع”&تعبير // مرجع&متغير تعبير // مرجع قابل للتغيير*تعبير // فك المرجعالأنواع
Section titled “الأنواع”البسيطة
Section titled “البسيطة”صحيح - عدد صحيحص32 - صحيح 32 بتص64 - صحيح 64 بتعشري - عدد عشريع32 - عشري 32 بتع64 - عشري 64 بتمنطقي - قيمة منطقيةحرف - حرف Unicodeنص - سلسلة نصية() - الوحدة (بدون قيمة)المركبة
Section titled “المركبة”[نوع; حجم] - مصفوفة ثابتة الحجم(نوع١, نوع٢) - صفمتجه<نوع> - متجهقاموس<مفتاح, قيمة> - قاموسالخاصة
Section titled “الخاصة”اختياري<نوع> - اختيارينتيجة<نوع, خطأ> - نتيجةالمراجع
Section titled “المراجع”&نوع - مرجع للقراءة&متغير نوع - مرجع للتعديلالعامة
Section titled “العامة”اسم<نوع> - نوع عاماسم<نوع, ثابت قيمة: صحيح> - مع ثوابتالأنماط
Section titled “الأنماط”تستخدم في طابق و دع:
// الحرفية42"نص"صح
// المتغيراسم // يربط القيمة_ // يتجاهل القيمة
// الصف(نمط١, نمط٢)
// الهيكلاسم { حقل: نمط }
// التعداداسم::قيمةاسم::قيمة(نمط)
// النطاق1..=10'أ'..='ي'
// البديلنمط١ | نمط٢التعليقات
Section titled “التعليقات”// تعليق سطر واحد
/* تعليق متعدد الأسطر*/
/// توثيق للعنصر التاليالحروف الخاصة في النصوص
Section titled “الحروف الخاصة في النصوص”\n - سطر جديد\t - تبويب\r - رجوع\\ - شرطة مائلة\" - اقتباس مزدوج\' - اقتباس مفرد\0 - حرف فارغقواعد التسمية
Section titled “قواعد التسمية”معرّف = حرف { حرف | رقم | '_' }حرف = 'أ'..'ي' | 'ا'..'ي' | 'a'..'z' | 'A'..'Z' | '_'رقم = '0'..'9' | '٠'..'٩'الاتفاقيات
Section titled “الاتفاقيات”| العنصر | الأسلوب | المثال |
|---|---|---|
| متغير | snake_case | عداد_الحلقة |
| دالة | snake_case | احسب_المجموع |
| هيكل | PascalCase | شخص |
| تعداد | PascalCase | لون |
| ثابت | SCREAMING_SNAKE | الحد_الأقصى |
الفواصل والعلامات
Section titled “الفواصل والعلامات”; - نهاية الجملة, - فاصل في القوائم: - فاصل النوع:: - فاصل المسار-> - نوع الإرجاع=> - في المطابقة.. - نطاق حصري..= - نطاق شامل