Libclang هي واجهة C لعائلة Clang's C من المترجمين. إنه يوفر واجهة برمجة تطبيقات صغيرة نسبيًا تكشف تسهيلات لتحليل رمز المصدر في شجرة بناء جملة مجردة (AST) ، وتحميل ASTs التي تم تنفيذها بالفعل ، وتجتاز AST ، وربط مواقع المصدر المادي مع عناصر داخل AST ، والمرافق الأخرى التي تدعم أدوات التطوير المستندة إلى Clang.
لن توفر الواجهة C لـ Clang هذه جميع تمثيل المعلومات المخزّن في C ++ AST ، ولا ينبغي لها: القصد هو الحفاظ على واجهة برمجة تطبيقات مستقرة نسبيًا من إصدار واحد إلى التالي ، مما يوفر فقط الوظائف الأساسية اللازمة لدعم أدوات التطوير.
يمكنك العثور على مقال حول Libclang لـ Delphi على مدونتي.
Neslib.clang يعزز libclang بطريقتين:
Unit Neslib.Clang.Api مزودي ترجمات الرأس لإصدار Libclang 14.0. يمكنك استخدام ترجمات الرأس هذه كما يمكنك استخدام libclang من لغة C. يمكن العثور على وثائق C API هنا: https://clang.llvm.org/doxygen/index.html
توفر وحدة Neslib.Clang تجريدًا أعلى مستوى من واجهة برمجة تطبيقات libclang. يوفر نموذج فئة رفيع أعلى واجهة برمجة تطبيقات libclang ، مما يجعل من السهل استخدامه من Delphi. بالإضافة إلى ذلك ، فإنه يوفر إدارة الذاكرة التلقائي حتى لا داعي للقلق بشأن الموارد التي يجب إصدارها ومتى.
يمكن العثور على توثيق لوحدة Neslib.Clang في ملف neslib.clang.chm أو على الإنترنت على https://neslib.github.io/neslib.clang.
نظرًا لأن Clang DLLs كبيرة جدًا (64+ ميغابايت) ، فإن Neslib.clang يشحن فقط مع إصدارات 32 بت من هذه DLLs. إذا كنت تفضل استخدام الإصدار 64 بت ، فسيتعين عليك تنزيل الإصدار 64 بت من LLVM من صفحة تنزيل LLVM (تأكد من اختيار الإصدار الذي يتطابق مع إصدار Neslib.clang).
بعد التثبيت ، ستجد libclang.dll في دليل bin. تحتاج أيضًا إلى نسخ DLLS وقت تشغيل VC ( msvcp140.dll و vcruntime140.dll ) من هذا الدليل.
neslib.clang مرخصة بموجب ترخيص BSD المبسط. انظر الترخيص. txt للحصول على التفاصيل.