Updated AST with support for for-loops, constant assignments for
top level expressions, and rearranged the tree