Настроить обработку ошибок в uu-parsinglib в Haskell
Это возможно:
- генерировать собственные ошибки парсера используя
uu-parsinglib
в Хаскеле? (Я хочу специально напечатать пользовательское сообщение об ошибке с информацией о позиции) - настроить способ отображения ошибок для пользователя?
- каким-то образом контролировать, где происходит автоматическая коррекция, а где нет? Я хочу, например, запретить некоторые шаги автокоррекции, такие как удаление первой буквы идентификатора, если она прописная (идентификаторы должны начинаться со строчной буквы)
1 ответ
1) Сообщения об ошибках: "Inserted String position [String]" в случае, если что-то было вставлено, и "Deleted String position", если что-то было удалено. Вы можете легко определить свою собственную версию стандартной функции показа в своей версии "run". Мы называем там просто шоу, но перенос сообщений позволит вам переопределить шоу.
2) см 1
3) Вы можете играть с затратами на вставку и удаление. В общем, старайтесь только увеличивать их. Стоимость более 1000 пропускает эту альтернативу полностью. Стандартная стоимость удаления - 4. Я не понимаю, что вы хотите делать с этой заглавной буквой в начале строчного идентификатора. Принять это в любом случае? Если вы хотите увеличить стоимость удаления, вы можете написать свою собственную версию pSym и т. Д.
Дойце Свирстра