An enum representing an error that occurred
This allows for user handling of errors while still allowing them to just be
printed out if custom handling of errors is not needed.
Evaluates an equation in infix notation using the shunting yard algorithm.
This function does not accept defined variables or functions. See evaluate_with_defined.
Evaluates an expression in infix notation using the shunting yard algorithm.
this function takes the expression, a Definitions struct and a Functions struct which
allow for variables and functions to be interpreted within the expression.