Libclang은 Clang의 C 컴파일러 제품군의 C 인터페이스입니다. 소스 코드를 구문 분석하기위한 시설을 AST (Abstract Syntax Tree)에 노출시키고, 이미 구식 AST를로드하고, AST를 가로 지르고, 물리적 소스 위치를 AST 내의 요소와 연결하고 Clang 기반 개발 도구를 지원하는 기타 시설을 연결하는 비교적 작은 API를 제공합니다.
Clang에 대한이 C 인터페이스는 Clang의 C ++ AST에 저장된 모든 정보 표현을 결코 제공하지 않으며, 의도는 개발 도구를 지원하는 데 필요한 기본 기능 만 제공하는 한 릴리스에서 다음 릴리스로 비교적 안정적인 API를 유지하는 것입니다.
내 블로그에서 Libclang for Delphi에 관한 기사를 찾을 수 있습니다.
Neslib.Clang은 Libclang을 두 가지 방법으로 활용합니다.
Unit Neslib.Clang.Api 제공자 Libclang 버전 14.0의 헤더 번역. C 언어의 libclang을 사용할 때이 헤더 번역을 사용할 수 있습니다. C API에 대한 문서는 여기에서 찾을 수 있습니다 : https://clang.llvm.org/doxygen/index.html
Neslib.Clang 이 유닛은 Libclang API의 높은 수준의 추상화를 제공합니다. Libclang API 위에 얇은 클래스 모델을 제공하여 Delphi에서 쉽게 사용할 수 있습니다. 또한 자동 메모리 관리를 제공하므로 출시 할 자원과시기에 대해 걱정할 필요가 없습니다.
Neslib.Clang 단위에 대한 문서는 neslib.clang.chm 파일에서 찾을 수 있습니다.
Clang DLL은 매우 크기 때문에 (64+ MB) Neslib.Clang 은이 DLL의 32 비트 버전 만 제공합니다. 64 비트 버전을 사용하려면 LLVM 다운로드 페이지에서 64 비트 버전의 LLVM을 다운로드해야합니다 (이 neslib.clang 버전과 일치하는 버전을 선택하십시오).
설치 후 BIN 디렉토리에 libclang.dll 있습니다. 또한 해당 디렉토리에서 VC 런타임 DLLS ( msvcp140.dll 및 vcruntime140.dll )를 복사해야합니다.
Neslib.clang은 단순화 된 BSD 라이센스에 따라 라이센스가 부여됩니다. 자세한 내용은 License.txt를 참조하십시오.