from collections.abc import Callable from enum import Enum, auto import numpy as np ValueType = int | float | np.ndarray FunctionType = Callable[[ValueType], ValueType] OperatorType = Callable[[ValueType, ValueType], ValueType] class Token(Enum): Variable = auto() Number = auto() Function = auto() Operator = auto() LBrace = auto() RBrace = auto() Space = auto() TokenType = tuple[str | float, Token]