Libclang es la interfaz C para la familia de compiladores C de Clang. Proporciona una API relativamente pequeña que expone las instalaciones para analizar el código fuente en un árbol de sintaxis abstracto (AST), cargando ASTS ya patrocados, atravesando el AST, asociando ubicaciones de fuentes físicas con elementos dentro de la AST y otras instalaciones que admiten herramientas de desarrollo basadas en rayos.
Esta interfaz C para Clang nunca proporcionará toda la representación de información almacenada en C ++ AST de Clang, ni debería hacerlo: la intención es mantener una API que sea relativamente estable de una liberación a la siguiente, proporcionando solo la funcionalidad básica necesaria para admitir herramientas de desarrollo.
Puede encontrar un artículo sobre Libclang para Delphi en mi blog.
Neslib.clang aprovecha libclang de dos maneras:
La unidad Neslib.Clang.Api proveedores de las traducciones de encabezado para Libclang versión 14.0. Puede usar estas traducciones de encabezado, ya que usaría libClang de un idioma C. La documentación para la API C se puede encontrar aquí: https://clang.llvm.org/doxygen/index.html
La unidad Neslib.Clang proporciona una abstracción de nivel más alto de la API de Libclang. Proporciona un modelo de clase delgada en la parte superior de la API de Libclang, lo que facilita el uso de Delphi. Además, proporciona administración automática de memoria para que no tenga que preocuparse por qué recursos lanzar y cuándo.
La documentación para la unidad Neslib.Clang se puede encontrar en el archivo neslib.clang.chm o en línea en https://neslib.github.io/neslib.clang.
Debido a que las DLL de Clang son muy grandes (más de 64 MB), Neslib.Clang solo se envía con las versiones de 32 bits de estas DLL. Si prefiere usar la versión de 64 bits, deberá descargar la versión de 64 bits de LLVM de la página de descarga de LLVM (asegúrese de elegir la versión que coincida con esta versión neslib.clang).
Después de la instalación, encontrará libclang.dll en el directorio bin. También debe copiar las DLLS de tiempo de ejecución VC ( msvcp140.dll y vcruntime140.dll ) de ese directorio.
Neslib.clang tiene licencia bajo la licencia BSD simplificada. Consulte License.txt para más detalles.