24 lines
438 B
Python
24 lines
438 B
Python
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]
|