<div dir="ltr">Hi,<div><br></div><div>The AST dump generated by Clang is very important for frontend work and developing source transformation tools, but often I find myself wasting a lot of time navigating around it.</div>
<div><br></div><div>To make this somewhat easier, I built a simple tool through which you can pipe the output of -ast-dump. It emits an HTML file (colored similarly to the colored mode of the AST dump) where node addresses are links. You can jump from uses to definitions, and use a navigation pane to explore a node's parent, children and users.</div>
<div><br></div><div>Sample HTML dump: <a href="https://dl.dropboxusercontent.com/u/15602400/template-insts-dump.html">https://dl.dropboxusercontent.com/u/15602400/template-insts-dump.html</a></div><div>Generated from this C++ code: <a href="https://dl.dropboxusercontent.com/u/15602400/template-insts.cpp">https://dl.dropboxusercontent.com/u/15602400/template-insts.cpp</a></div>
<div><br></div><div>The tool is available here: <a href="https://github.com/eliben/llvm-clang-samples/blob/master/tools/htmlize-ast-dump.py">https://github.com/eliben/llvm-clang-samples/blob/master/tools/htmlize-ast-dump.py</a> - it's self contained and the code is in the public domain, so feel free to use it.</div>
<div><br></div><div>Hope others find this useful! Ideas for improvement are welcome.</div><div><br></div><div>Eli</div><div><br></div></div>