4
나는 clang :: TreeTransform에 대한 통합 지점을 알아 내려고하고있다.clang :: TreeTransform 사용법?
목표는 코드 생성 전에 AST를 변환하는 것입니다.
미리 감사드립니다.
나는 clang :: TreeTransform에 대한 통합 지점을 알아 내려고하고있다.clang :: TreeTransform 사용법?
목표는 코드 생성 전에 AST를 변환하는 것입니다.
미리 감사드립니다.
ASTFrontEndAction을 사용하고 CreateASTConsumer 메소드를 다시 정의하여 (ASTConsumer 대신) SemaConsumer를 작성하는 방법이 있습니다.
그런 다음 handleTopLevelDecl 메서드에서 TreeTransform에 필요한 Sema를 전달하여 RecursiveASTVisitor를 만듭니다.
그런 다음 RecursiveASTVisitor의 Visit 메서드는 TreeTransform 인스턴스를 만든 다음 적절한 변형 메서드를 호출 할 수 있습니다.
추신 : 때때로 compend 문을 변환 할 때 함수 범위가 비어있을 수 있습니다. 수행 할 수있는 기능은 tranforming이라고 부르기 전에
SemaRef.PushFunctionScope();
SemaRef.PushCompoundScope();
입니다.
설명서를 읽었습니까? – Nawaz
@Nawaz 어떤 문서? - TreeTransform에 대한 페이지를 찾지 못했습니다. – Gaetano
[this] (http://clang.llvm.org/doxygen/classclang_1_1TreeTransform.html#details)와 같은 LLVM에 대한 doxygen 문서 ... 예, 다음을 수행해야합니다. 그것을 사용하는 방법을 파악하기 위해 조금만 노력하십시오. – Nawaz