Add AST generator
Make parts of the parser generate AST nodes