[cfe-users] Format of AST entries?

Ray Mitchell via cfe-users cfe-users at lists.llvm.org
Tue Feb 20 21:50:24 PST 2018

I am attempting to do some basic parsing of the AST using C#.  So far I've had success extracting a few things simply by writing some test C++ code, generating an AST for it, making some changes, regenerating an AST, and observing what changes in the AST entries.  However, this empirical approach is pretty brutal and requires a lot of questionable assumptions.  Is there any documentation that explicitly explains the possible permutations and field meanings of each AST entry type?  If so I'd greatly appreciate a link to it.  I've done pretty well figuring out the FunctionDecl item and a few others but a document describing them would really be helpful.  For example, in the following I know that 'ABCDE' represents the name of the function and 'float (int, char)' represents its data type, but there are two copies of 'float (int, char)' and I'd like to know why and if they both represent the same thing:

|| `-DeclRefExpr 0x862c118 <col:11> 'float (int, char)' lvalue Function 0x85deae0 'ABCDE' 'float (int, char)'

I have similar questions about most of the entry types.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-users/attachments/20180220/a61b4c76/attachment.html>

More information about the cfe-users mailing list