2
샘플 코드에서 Clang의 ASTVisitor를 구문 분석하는 동안 구문을 검증하는 구문이 있음을 알 수 있습니다.clang AST 파서의 구문 비교
isa<IfStmt>(statement)
isa<UnaryOperator>(Expression)
현재 표현식/문을 평가하는 데 사용되는 구문의 포괄적 인 목록이 있습니까?
감사
모든샘플 코드에서 Clang의 ASTVisitor를 구문 분석하는 동안 구문을 검증하는 구문이 있음을 알 수 있습니다.clang AST 파서의 구문 비교
isa<IfStmt>(statement)
isa<UnaryOperator>(Expression)
현재 표현식/문을 평가하는 데 사용되는 구문의 포괄적 인 목록이 있습니까?
감사
모든첫째, 마법의 아무것도에 대한 isa
그 객체가 어떤 클래스의 하위 유형인지 여부를 확인하는 단지 LLVM의 방법, 없다; 표현 isa<IfStmt>(statement)
이 RTTI 지원 발현 기본적으로 동일합니다 :
dynamic_cast<IfStmt*>(statement) != NULL
그래서 귀하의 질문에 정말 AST 계층 구조가 무엇인지에 귀결; 그리고, 그것은 완전한 계층 구조 차트로,이 네 페이지를 확인하는 것이 좋습니다 : Type
's hierarchy
Decl
's hierarchyDeclContext
's hierarchyStmt
's hierarchy
Expr
와 아이를 포함)