An unresolved operator can be preceded by an operator of unknown arity, which means that the unresolved operator should most likely be a unary operator.
Since all operators of the same type invoke the same function, we now just use the function to identify the operator, as opposed to an enum value.
…tor is involved
…functions without parentheses. For example, if you parse the string "2pi", it is recognized as "2pi()". The tokenizer injects the opening and closing parentheses.
… analyzer warnings
…function. Also added an example of a custom tokenizer.
- Converting an `NSString` to an `NSNumber` now uses one of 5 static `NSNumberFormatters` - 3 of the arc hyperbolic functions have been re-implemented using native `NSDecimal` functions
Make sure that any number formatter used has the "en_US" locale set (since that's the only allowed number style)
…thrown to signify tokenization, parsing, or evaluation errors; NSErrors are used instead. Tokenization is no longer locale aware. Numbers must use "." as the decimal separator and "e" or "E" as the exponent symbol. Numbers using "," will not be recognized. This stems from attempting to parse "min(1,2,3)". In locales where "," is the decimal separator, this is ambiguous. It could be any one of: min(1, 2, 3) min(1.2, 3) min(1, 2.3) The inability to distinguish between these requires using "." as the decimal separator.