def print_ast(self, expression: Expr.Expr): return expression.accept(self)
def evaluate(self, client: Expr.Expr) -> object: return client.accept(self)
def print(self, expr: Expr.Expr) -> str: return expr.accept(self)
def evaluate(self, expr : Expr.Expr): return expr.accept(self)
def evaluate(self, expr: Expr.Expr) -> object: """ Evaluates the value of an expression """ return expr.accept(self)
def AstPrinter(top_token:Expr.Expr): display = top_token.accept(PrintVisitor()) print(display)