[LLVMdev] [OT] Control Flow Graph(CFG) into Abstract Syntax Tree(AST)
Joshua Cranmer
pidgeot18 at gmail.com
Sun Sep 16 15:12:48 PDT 2012
On 9/13/2012 5:58 AM, James Courtier-Dutton wrote:
> Hi,
>
> I know most compilers go from AST to CFG.
> I am writing a decompiler, so I was wondering if anyone knew of any
> documents describing how best to get from CFG to AST.
The general process that you are trying to do is known as "structuring
control flow graphs." The basic algorithm, as far as I know it, amounts
to three steps (in C terms):
1. Make switch statements
2. Make loops
3. Figure out the if/else stuff
Google finds this article:
<http://ieeexplore.ieee.org/xpl/login.jsp?tp=&arnumber=914984> for a
more detailed algorithm.
--
Joshua Cranmer
News submodule owner
DXR coauthor
More information about the llvm-dev
mailing list