Я играюсь с парсеком и понял, что у меня неоднозначная грамматика. Очевидно, это ошибка с моей стороны, но я вроде как привык к генераторам синтаксических анализаторов в стиле yacc, которые дают мне понять, что я тупой. Parsec просто поедает символы в том порядке, в котором вы отправляете его парсерам (да, я знаю о try
).
Есть ли способ заставить парсек сообщать мне, когда моя грамматика не учитывается слева? Программы, которые работают для меня, великолепны.
Спасибо!
(Я знаю, что сдвиг-свертка относится к другой технологии синтаксического анализатора. Я просто имею в виду описание неоднозначных грамматик.)