Настроить обработку ошибок в uu-parsinglib в Haskell

Это возможно:

  1. генерировать собственные ошибки парсера используя uu-parsinglib в Хаскеле? (Я хочу специально напечатать пользовательское сообщение об ошибке с информацией о позиции)
  2. настроить способ отображения ошибок для пользователя?
  3. каким-то образом контролировать, где происходит автоматическая коррекция, а где нет? Я хочу, например, запретить некоторые шаги автокоррекции, такие как удаление первой буквы идентификатора, если она прописная (идентификаторы должны начинаться со строчной буквы)

1 ответ

Решение

1) Сообщения об ошибках: "Inserted String position [String]" в случае, если что-то было вставлено, и "Deleted String position", если что-то было удалено. Вы можете легко определить свою собственную версию стандартной функции показа в своей версии "run". Мы называем там просто шоу, но перенос сообщений позволит вам переопределить шоу.

2) см 1

3) Вы можете играть с затратами на вставку и удаление. В общем, старайтесь только увеличивать их. Стоимость более 1000 пропускает эту альтернативу полностью. Стандартная стоимость удаления - 4. Я не понимаю, что вы хотите делать с этой заглавной буквой в начале строчного идентификатора. Принять это в любом случае? Если вы хотите увеличить стоимость удаления, вы можете написать свою собственную версию pSym и т. Д.

Дойце Свирстра

Другие вопросы по тегам