more clearly talking about AST nodes instead of grammar