=== AST Tree (Compact) ===
Module(body=[Import(names=[alias(name='t'), alias(name='c')]), FunctionDef(name='get_rect', args=arguments(posonlyargs=[], args=[arg(arg='style', annotation=Attribute(value=Name(id='t', ctx=Load()), attr='CInt', ctx=Load())), arg(arg='th', annotation=Attribute(value=Name(id='t', ctx=Load()), attr='CInt', ctx=Load())), arg(arg='wx', annotation=Attribute(value=Name(id='t', ctx=Load()), attr='CInt', ctx=Load())), arg(arg='wy', annotation=Attribute(value=Name(id='t', ctx=Load()), attr='CInt', ctx=Load())), arg(arg='ww', annotation=Attribute(value=Name(id='t', ctx=Load()), attr='CInt', ctx=Load()))], kwonlyargs=[], kw_defaults=[], defaults=[]), body=[AnnAssign(target=Name(id='btn_w', ctx=Store()), annotation=Attribute(value=Name(id='t', ctx=Load()), attr='CInt', ctx=Load()), value=Constant(value=10), simple=1), AnnAssign(target=Name(id='btn_h', ctx=Store()), annotation=Attribute(value=Name(id='t', ctx=Load()), attr='CInt', ctx=Load()), value=Constant(value=10), simple=1), AnnAssign(target=Name(id='btn_x', ctx=Store()), annotation=Attribute(value=Name(id='t', ctx=Load()), attr='CInt', ctx=Load()), value=BinOp(left=BinOp(left=BinOp(left=Name(id='wx', ctx=Load()), op=Add(), right=Name(id='ww', ctx=Load())), op=Sub(), right=Name(id='btn_w', ctx=Load())), op=Sub(), right=Constant(value=4)), simple=1), AnnAssign(target=Name(id='btn_y', ctx=Store()), annotation=Attribute(value=Name(id='t', ctx=Load()), attr='CInt', ctx=Load()), value=BinOp(left=Name(id='wy', ctx=Load()), op=Add(), right=BinOp(left=BinOp(left=Name(id='th', ctx=Load()), op=Sub(), right=Name(id='btn_h', ctx=Load())), op=FloorDiv(), right=Constant(value=2))), simple=1), AnnAssign(target=Name(id='max_bx', ctx=Store()), annotation=Attribute(value=Name(id='t', ctx=Load()), attr='CInt', ctx=Load()), value=BinOp(left=Name(id='btn_x', ctx=Load()), op=Sub(), right=Constant(value=2)), simple=1), AnnAssign(target=Name(id='min_bx', ctx=Store()), annotation=Attribute(value=Name(id='t', ctx=Load()), attr='CInt', ctx=Load()), value=BinOp(left=Name(id='max_bx', ctx=Load()), op=Sub(), right=Constant(value=2)), simple=1), Return(value=Tuple(elts=[Name(id='btn_w', ctx=Load()), Name(id='btn_h', ctx=Load()), Name(id='btn_x', ctx=Load()), Name(id='btn_y', ctx=Load()), Name(id='max_bx', ctx=Load()), Name(id='min_bx', ctx=Load())], ctx=Load()))], decorator_list=[Call(func=Attribute(value=Name(id='c', ctx=Load()), attr='CReturn', ctx=Load()), args=[Attribute(value=Name(id='t', ctx=Load()), attr='CInt', ctx=Load()), Attribute(value=Name(id='t', ctx=Load()), attr='CInt', ctx=Load()), Attribute(value=Name(id='t', ctx=Load()), attr='CInt', ctx=Load()), Attribute(value=Name(id='t', ctx=Load()), attr='CInt', ctx=Load()), Attribute(value=Name(id='t', ctx=Load()), attr='CInt', ctx=Load()), Attribute(value=Name(id='t', ctx=Load()), attr='CInt', ctx=Load())], keywords=[])], returns=Subscript(value=Name(id='tuple', ctx=Load()), slice=Tuple(elts=[Attribute(value=Name(id='t', ctx=Load()), attr='CInt', ctx=Load()), Attribute(value=Name(id='t', ctx=Load()), attr='CInt', ctx=Load()), Attribute(value=Name(id='t', ctx=Load()), attr='CInt', ctx=Load()), Attribute(value=Name(id='t', ctx=Load()), attr='CInt', ctx=Load()), Attribute(value=Name(id='t', ctx=Load()), attr='CInt', ctx=Load()), Attribute(value=Name(id='t', ctx=Load()), attr='CInt', ctx=Load())], ctx=Load()), ctx=Load()), type_params=[]), FunctionDef(name='main', args=arguments(posonlyargs=[], args=[], kwonlyargs=[], kw_defaults=[], defaults=[]), body=[AnnAssign(target=Name(id='bw', ctx=Store()), annotation=Attribute(value=Name(id='t', ctx=Load()), attr='CInt', ctx=Load()), value=Constant(value=0), simple=1), AnnAssign(target=Name(id='bh', ctx=Store()), annotation=Attribute(value=Name(id='t', ctx=Load()), attr='CInt', ctx=Load()), value=Constant(value=0), simple=1), AnnAssign(target=Name(id='bx', ctx=Store()), annotation=Attribute(value=Name(id='t', ctx=Load()), attr='CInt', ctx=Load()), value=Constant(value=0), simple=1), AnnAssign(target=Name(id='by', ctx=Store()), annotation=Attribute(value=Name(id='t', ctx=Load()), attr='CInt', ctx=Load()), value=Constant(value=0), simple=1), AnnAssign(target=Name(id='mbx', ctx=Store()), annotation=Attribute(value=Name(id='t', ctx=Load()), attr='CInt', ctx=Load()), value=Constant(value=0), simple=1), AnnAssign(target=Name(id='mnbx', ctx=Store()), annotation=Attribute(value=Name(id='t', ctx=Load()), attr='CInt', ctx=Load()), value=Constant(value=0), simple=1), Assign(targets=[Tuple(elts=[Name(id='bw', ctx=Store()), Name(id='bh', ctx=Store()), Name(id='bx', ctx=Store()), Name(id='by', ctx=Store()), Name(id='mbx', ctx=Store()), Name(id='mnbx', ctx=Store())], ctx=Store())], value=Call(func=Name(id='get_rect', ctx=Load()), args=[Constant(value=1), Constant(value=30), Constant(value=100), Constant(value=200), Constant(value=800)], keywords=[])), Expr(value=Call(func=Name(id='printf', ctx=Load()), args=[Constant(value='btn_w=%d btn_h=%d btn_x=%d btn_y=%d max_bx=%d min_bx=%d\n'), Name(id='bw', ctx=Load()), Name(id='bh', ctx=Load()), Name(id='bx', ctx=Load()), Name(id='by', ctx=Load()), Name(id='mbx', ctx=Load()), Name(id='mnbx', ctx=Load())], keywords=[])), Return(value=Constant(value=0))], decorator_list=[], returns=Attribute(value=Name(id='t', ctx=Load()), attr='CInt', ctx=Load()), type_params=[])], type_ignores=[])

[GetCTypeInfo] Node type: Attribute, dump: Attribute(value=Name(id='t', ctx=Load()), attr='CInt', ctx=L...
[GetCTypeInfo-Attribute] 查询: 'CInt' ModulePath: t
[GetCTypeInfo] Node type: Attribute, dump: Attribute(value=Name(id='t', ctx=Load()), attr='CInt', ctx=L...
[GetCTypeInfo-Attribute] 查询: 'CInt' ModulePath: t
[GetCTypeInfo] Node type: Attribute, dump: Attribute(value=Name(id='t', ctx=Load()), attr='CInt', ctx=L...
[GetCTypeInfo-Attribute] 查询: 'CInt' ModulePath: t
[GetCTypeInfo] Node type: Attribute, dump: Attribute(value=Name(id='t', ctx=Load()), attr='CInt', ctx=L...
[GetCTypeInfo-Attribute] 查询: 'CInt' ModulePath: t
[GetCTypeInfo] Node type: Attribute, dump: Attribute(value=Name(id='t', ctx=Load()), attr='CInt', ctx=L...
[GetCTypeInfo-Attribute] 查询: 'CInt' ModulePath: t
[GetCTypeInfo] Node type: Attribute, dump: Attribute(value=Name(id='t', ctx=Load()), attr='CInt', ctx=L...
[GetCTypeInfo-Attribute] 查询: 'CInt' ModulePath: t
[GetCTypeInfo] Node type: Attribute, dump: Attribute(value=Name(id='t', ctx=Load()), attr='CInt', ctx=L...
[GetCTypeInfo-Attribute] 查询: 'CInt' ModulePath: t
[GetCTypeInfo] Node type: Attribute, dump: Attribute(value=Name(id='t', ctx=Load()), attr='CInt', ctx=L...
[GetCTypeInfo-Attribute] 查询: 'CInt' ModulePath: t
[GetCTypeInfo] Node type: Attribute, dump: Attribute(value=Name(id='t', ctx=Load()), attr='CInt', ctx=L...
[GetCTypeInfo-Attribute] 查询: 'CInt' ModulePath: t
[GetCTypeInfo] Node type: Attribute, dump: Attribute(value=Name(id='t', ctx=Load()), attr='CInt', ctx=L...
[GetCTypeInfo-Attribute] 查询: 'CInt' ModulePath: t
[GetCTypeInfo] Node type: Attribute, dump: Attribute(value=Name(id='t', ctx=Load()), attr='CInt', ctx=L...
[GetCTypeInfo-Attribute] 查询: 'CInt' ModulePath: t
[GetCTypeInfo] Node type: Attribute, dump: Attribute(value=Name(id='t', ctx=Load()), attr='CInt', ctx=L...
[GetCTypeInfo-Attribute] 查询: 'CInt' ModulePath: t
