decoupling parse tree nodes from AST nodes