differentiator: lexer: refactor, correctly determine boundaries of numeric values by parsing into cache.
differentiator: parser: handle "stray data after expression" error.