Another AST example void square(int a) { int b = a*2; } int main() { int a = 5; square(a); return 0; } Function (square) type(void) args(int) NewSymbol(a) type (int) NewSymbol(b) type (int) Function(main) type(int) args(void) NewSymbol(a) type (int) Func_Call type(void) Symbol(square) type(void) arg(int) Symbol(a) type (int) Return (arg) type (int) Constant( 0 ) type (int)