Ну это не очень применимо к парсерам формальных языков типа языков разметки текста, описания данных или программирования: там обычно ошибки вида «раскладка не та» настолько грубые, что восстанавливаться после них нет смысла.
Вот вольфрам альфа как-то там само скобки пытается расставить если юзер забыл и вообще пытается поправить если текст не соответсвует ормальным правилам языка ввода. Не всегда удачно, но бывает что и норм.
Я вот кстати когда на калькуляторе PARI/GP считаю что-нибудь, то закрывающих скобок в конце ставлю "на глаз". Если ругается что скобок мало, то прибавляю, если что много - убавляю. А ведь могло бы и сказать типа "скобок в конце не хватило -- я добавило три -- продолжаем?". Редко, но бывает что пропущены скобки где-то внутри выражения, тогда добавлением в конец количество скобок "на глаз" сходится, но результат выходит не тот. Но это редко.