Fix bugs in the AST
Refactor the parser to use the new AST, round 1
Add AST Visitor