Differences

This shows you the differences between two versions of the page.

Link to this comparison view

sesiuni:llvm:ast [2015/09/08 10:53]
freescale created
sesiuni:llvm:ast [2015/09/08 10:54]
freescale [The Clang AST] Change matchers link to something more generic
Line 5: Line 5:
 </​code>​ </​code>​
  
-There are several ways to obtain information from the AST, for instance by using [[http://​clang.llvm.org/​docs/​LibASTMatchersReference.html | Matchers]] or **Visitors**. We will use a very powerful visitor: **RecursiveASTVisitor**. Its strength lies in the fact that it not only provides access to the nodes of the AST, but also allows us to change the order in which the AST is traversed.+There are several ways to obtain information from the AST, for instance by using [[http://​clang.llvm.org/​docs/​LibASTMatchers.html | Matchers]] or **Visitors**. We will use a very powerful visitor: **RecursiveASTVisitor**. Its strength lies in the fact that it not only provides access to the nodes of the AST, but also allows us to change the order in which the AST is traversed.
  
 An interesting thing to note about the implementation of **RecursiveASTVisitor** is that it uses the **CRTP** (Curiously Recurring Template Pattern) idiom in order to achieve static polymorphism. An interesting thing to note about the implementation of **RecursiveASTVisitor** is that it uses the **CRTP** (Curiously Recurring Template Pattern) idiom in order to achieve static polymorphism.
sesiuni/llvm/ast.txt · Last modified: 2015/09/08 10:54 by freescale