عن المشروع
cx هي لغة برمجة هجينة منخفضة/عالية المستوى من عائلة C تركز على أداء وقت التشغيل وإنتاجية المطور، بهذا الترتيب من الأولويات. توصف بأنها بسيطة وغير متحيزة، وتدعم أساليب البرمجة الأمرية والعمومية والموجهة للبيانات والوظيفية والموجهة للكائنات. تُترجم إلى كود أصلي عبر LLVM أو واجهة خلفية بلغة C، دون جامع قمامة أو بيئة تشغيل خفية.
يقترب المشروع من إصداره 0.1. يشير ملف README إلى أن بعض الميزات المخططة لم تُنفذ بعد، وأن الميزات المنفذة قد تتغير، وأن هناك أخطاء. تتوفر الوثائق على موقع المشروع وبصيغة Markdown داخل مجلد docs، مع أمثلة برمجية في مجلد examples. تُوجه الأسئلة والمناقشات إلى قضايا GitHub أو خادم Discord الخاص بالمشروع.
يتطلب البناء من المصدر مترجم C++20 وCMake الإصدار 3.16 أو أحدث وLLVM/Clang 23. يوفر ملف README تعليمات خاصة بكل منصة: لينكس (تثبيت عبر apt وحزم LLVM مبنية مسبقًا)، وmacOS (Homebrew)، وويندوز (ملفات LLVM الثنائية المبنية مسبقًا). ينتج البناء ملفي cx وcx-lsp. يدعم خادم اللغة التشخيص والتحويم والانتقال إلى التعريف والإكمالات والبحث عن المراجع والتظليل الدلالي في المحررات الداعمة لبروتوكول LSP.
المساهمات مرحب بها عبر قضايا GitHub ولوحة Trello. يستخدم الاختبار lit وpsutil المثبتين عبر pip، ثم يشغل هدف CMake المسمى check المجموعة الكاملة عبر CTest، ويغطي اختبارات lit/المترجم وبرامج الأمثلة على واجهتي LLVM وC ومقتطفات الوثائق واختبارات خادم اللغة الشاملة. يمكن تشغيل مجموعات فرعية باستخدام مرشحات ctest. يُفرض أسلوب كود C++ عبر ClangFormat من خلال هدفي format وlint في CMake. تدعم واجهة WebAssembly وأدوات C داخل المتصفح بيئة تجريبية في المتصفح والموقع الإلكتروني، مع سكربت بناء للتطوير المحلي. المشروع مرخص بموجب رخصة MIT.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.