Libclang ist die C -Schnittstelle zu Clangs C -Familie von Compilern. Es bietet eine relativ kleine API, die Einrichtungen zum Analysen von Quellcode in einen abstrakten Syntaxbaum (AST), das bereits pariertes ASTS, das Laden der ASTs, das Durchqueren der AST, die assoziierte physische Quellenorte mit Elementen innerhalb der AST und andere Einrichtungen, die Clang-basierte Entwicklungswerkzeuge unterstützt, aufzwingen.
Diese C -Schnittstelle zu Clang wird niemals die gesamte Informationsdarstellung bereitstellen, die in Clangs C ++ AST gespeichert ist, noch sollte dies: Die Absicht besteht darin, eine API zu erhalten, die von einer Release zum nächsten relativ stabil ist und nur die grundlegenden Funktionen bereitstellt, die zur Unterstützung von Entwicklungstools erforderlich sind.
In meinem Blog finden Sie einen Artikel über Libclang für Delphi .
Neslib.clang nutzt Libclang auf zwei Arten:
Die Einheit Neslib.Clang.Api Anbieter Die Header -Übersetzungen für libclang Version 14.0. Sie können diese Header -Übersetzungen verwenden, da Sie Libclang aus einer C -Sprache verwenden würden. Die Dokumentation für die C -API finden Sie hier: https://clang.llvm.org/doxygen/index.html
Die Einheit Neslib.Clang bietet eine höhere Abstraktion der libclang -API. Es bietet ein dünnes Klassenmodell auf der Libclang -API, sodass es die Verwendung von Delphi erleichtert. Darüber hinaus bietet es eine automatische Speicherverwaltung, sodass Sie sich keine Sorgen darüber machen müssen, welche Ressourcen und wann.
Dokumentation für die Neslib.Clang Einheit finden Sie in der Datei neslib.clang.chm oder on-line unter https://neslib.github.io/neslib.clang.
Da die Clang-DLLs sehr groß sind (64+ MB), wird Neslib.Clang nur mit den 32-Bit-Versionen dieser DLLs geliefert. Wenn Sie es vorziehen, die 64-Bit-Version zu verwenden, müssen Sie die 64-Bit-Version von LLVM von der LLVM-Download-Seite herunterladen (wählen Sie unbedingt die Version, die dieser Neslib.clang-Version entspricht).
Nach der Installation finden Sie libclang.dll im Bin -Verzeichnis. Sie müssen auch die VC Runtime DLLs ( msvcp140.dll und vcruntime140.dll ) aus diesem Verzeichnis kopieren.
Neslib.clang ist unter der vereinfachten BSD -Lizenz lizenziert. Einzelheiten siehe Lizenz.txt.