Libclang est l'interface C de la famille C de Clang de compilateurs. Il fournit une API relativement petite qui expose les installations d'analyse du code source dans un arbre de syntaxe abstrait (AST), le chargement des AST déjà payés, traversant l'AST, associant des emplacements de source physique avec des éléments au sein de l'AST et d'autres installations qui prennent en charge les outils de développement basés sur Clang.
Cette interface C à Clang ne fournira jamais toute la représentation des informations stockée dans C ++ AST de Clang, et il ne devrait pas non plus: l'intention est de maintenir une API qui est relativement stable d'une version à l'autre, ne fournissant que la fonctionnalité de base nécessaire pour prendre en charge les outils de développement.
Vous pouvez trouver un article sur LibClang pour Delphi sur mon blog.
Neslib.Clang exploite Libclang de deux manières:
L'unité Neslib.Clang.Api prévoit les traductions d'en-tête pour LibClang version 14.0. Vous pouvez utiliser ces traductions d'en-tête comme vous utiliseriez LibClang à partir d'une langue C. La documentation de l'API C peut être trouvée ici: https://clang.llvm.org/doxygen/index.html
L'unité Neslib.Clang fournit une abstraction de niveau supérieur de l'API LibClang. Il fournit un modèle de classe mince au-dessus de l'API LibClang, ce qui le rend plus facile à utiliser à partir de Delphi. De plus, il fournit une gestion automatique de la mémoire afin que vous n'ayez pas à vous soucier des ressources à publier et quand.
La documentation de l'unité Neslib.Clang peut être trouvée dans le fichier Neslib.clang.chm ou en ligne sur https://neslib.github.io/neslib.clang.
Parce que les DLL Clang sont très grandes (64+ Mo), Neslib.Clang est uniquement expédié avec les versions 32 bits de ces DLL. Si vous préférez utiliser la version 64 bits, vous devrez télécharger la version 64 bits de LLVM à partir de la page de téléchargement LLVM (assurez-vous de choisir la version qui correspond à cette version Neslib.Clang).
Après l'installation, vous trouverez libclang.dll dans le répertoire du bac. Vous devez également copier les DLL d'exécution VC ( msvcp140.dll et vcruntime140.dll ) à partir de ce répertoire.
Neslib.Clang est concédé sous licence en vertu de la licence BSD simplifiée. Voir Licence.txt pour plus de détails.