Add error-tolerance in lexer, add Context class to store errors