Libclang เป็นอินเทอร์เฟซ C ไปยังตระกูลคอมไพเลอร์ของ Clang มันมี API ที่ค่อนข้างเล็กซึ่งแสดงให้เห็นถึงสิ่งอำนวยความสะดวกสำหรับการแยกวิเคราะห์ซอร์สโค้ดลงในทรีไวยากรณ์นามธรรม (AST) โหลด ASTs ที่มีการเดินทางไปแล้วการสำรวจ AST เชื่อมโยงตำแหน่งแหล่งข้อมูลทางกายภาพกับองค์ประกอบภายใน AST และสิ่งอำนวยความสะดวกอื่น ๆ
อินเทอร์เฟซ C นี้ไปยัง Clang จะไม่ให้การแสดงข้อมูลทั้งหมดที่เก็บไว้ใน C ++ AST ของ Clang และไม่ควร: ความตั้งใจคือการรักษา API ที่ค่อนข้างเสถียรจากการเปิดตัวหนึ่งไปยังอีกรุ่นหนึ่งโดยให้ฟังก์ชั่นพื้นฐานที่จำเป็นสำหรับการสนับสนุนเครื่องมือพัฒนา
คุณสามารถค้นหาบทความเกี่ยวกับ libclang สำหรับ Delphi ในบล็อกของฉัน
Neslib.Clang ใช้ประโยชน์จาก Libclang สองวิธี:
หน่วย Neslib.Clang.Api ผู้ให้บริการการแปลส่วนหัวสำหรับ libclang เวอร์ชัน 14.0 คุณสามารถใช้การแปลส่วนหัวเหล่านี้ได้เนื่องจากคุณจะใช้ libclang จากภาษา C เอกสารสำหรับ C API สามารถดูได้ที่นี่: https://clang.llvm.org/doxygen/index.html
หน่วย Neslib.Clang ให้ระดับที่สูงขึ้นของ libclang API มันมีรูปแบบคลาสบางที่ด้านบนของ Libclang API ทำให้ใช้งานได้ง่ายขึ้นจาก Delphi นอกจากนี้ยังมีการจัดการหน่วยความจำอัตโนมัติดังนั้นคุณไม่ต้องกังวลเกี่ยวกับทรัพยากรที่จะปล่อยและเมื่อใด
เอกสารสำหรับหน่วย Neslib.Clang สามารถพบได้ในไฟล์ neslib.clang.chm หรือออนไลน์ที่ https://neslib.github.io/neslib.clang
เนื่องจากเสียงดังก้อง DLLs มีขนาดใหญ่มาก (64+ MB), Neslib.Clang เพียงจัดส่งเฉพาะ DLL เหล่านี้รุ่น 32 บิต หากคุณต้องการใช้เวอร์ชัน 64 บิตคุณจะต้องดาวน์โหลด LLVM รุ่น 64 บิตจากหน้าดาวน์โหลด LLVM (อย่าลืมเลือกเวอร์ชันที่ตรงกับเวอร์ชัน neslib.clang นี้)
หลังจากการติดตั้งคุณจะพบ libclang.dll ในไดเรกทอรี bin คุณต้องคัดลอก VC Runtime DLLS ( msvcp140.dll และ vcruntime140.dll ) จากไดเรกทอรีนั้น
Neslib.Clang ได้รับใบอนุญาตภายใต้ใบอนุญาต BSD ที่เรียบง่าย ดู License.txt สำหรับรายละเอียด