FileAST(ext=[FuncDef(decl=Decl(name='foo', quals=[ ], align=[ ], storage=[ ], funcspec=[ ], type=FuncDecl(args=ParamList(params=[Decl(name='X0', quals=[ ], align=[ ], storage=[ ], funcspec=[ ], type=TypeDecl(declname='X0', quals=[ ], align=None, type=IdentifierType(names=['int' ] ) ), init=None, bitsize=None ), Decl(name='X1', quals=[ ], align=[ ], storage=[ ], funcspec=[ ], type=TypeDecl(declname='X1', quals=[ ], align=None, type=IdentifierType(names=['int' ] ) ), init=None, bitsize=None ), Decl(name='X2', quals=[ ], align=[ ], storage=[ ], funcspec=[ ], type=TypeDecl(declname='X2', quals=[ ], align=None, type=IdentifierType(names=['int' ] ) ), init=None, bitsize=None ), Decl(name='X3', quals=[ ], align=[ ], storage=[ ], funcspec=[ ], type=TypeDecl(declname='X3', quals=[ ], align=None, type=IdentifierType(names=['int' ] ) ), init=None, bitsize=None ) ] ), type=TypeDecl(declname='foo', quals=[ ], align=None, type=IdentifierType(names=['int' ] ) ) ), init=None, bitsize=None ), param_decls=None, body=Compound(block_items=[If(cond=BinaryOp(op='==', left=ID(name='X1' ), right=Constant(type='int', value='1' ) ), iftrue=Compound(block_items=[Assignment(op='=', lvalue=ID(name='X1' ), rvalue=BinaryOp(op='+', left=ID(name='X2' ), right=ID(name='X1' ) ) ), Assignment(op='=', lvalue=ID(name='X2' ), rvalue=BinaryOp(op='+', left=ID(name='X3' ), right=ID(name='X2' ) ) ) ] ), iffalse=None ), While(cond=BinaryOp(op='<', left=ID(name='X0' ), right=Constant(type='int', value='10' ) ), stmt=Compound(block_items=[Assignment(op='=', lvalue=ID(name='X0' ), rvalue=BinaryOp(op='+', left=ID(name='X1' ), right=ID(name='X2' ) ) ) ] ) ) ] ) ) ] )