Implement expression() as the interface of AST