Changed the nodes in the AST to reflect more closely the abstract grammar