Made ASTNode an abstract class so members can be added to all nodes