Hi,

I am working on a static analysis tool for C. I am finding it strange - traversal of AST using VisitBin## calls. For example x = x + y + z; AST would be like:

Hi,

I am working on a static analysis tool for C. I am finding it strange - traversal of AST using VisitBin## calls. For example x = x + y + z; AST would be like:

Hi,

Can someone help on how VisitBin## methods are called and how to walk up in

Visit methods?

I want to understand in case of pre-order DFS traversal by clang, how to

walk up in the tree?

e.g. for expression x + y + z, I am creating an abstract expression whenever

I see an arithmetic operator, how to walk up in tree to get (x+y) as lhs and

z as rhs operand?

I need this for x = x + y + z; to get abstract expression for x+y+z as rhs

of assignment operator.