Какова правильная грамматика для синтаксического анализа движения в формате SAN с использованием PEG?Грамматика для разбора шахматного хода с использованием PEG
Решение, которое я придумал это
MOVE <- [NBRQK]? [a-h]? [1-8]? [-x]? [a-h] [1-8] [NBRQ]?
Однако это кажется неправильным, поскольку он не разобрать NH4, поскольку ч соответствует первому необязательный файл [а-ч]? и парсер не отступает.
Другие шаги, которые должны быть правильно разобранные являются: а4, a3a4, xa4, a8Q, xa8Q, NH4, Nxh4, Ngxh4, Ng3h4, Ngh4, N3h4, Ng3h4, Ng3xh4, но (необязательно) не -a4, N-h4.
У меня есть парсер EPD. Перемещение парсинга - это всего лишь небольшая часть. – Alexandru
У вас могут быть другие проблемы, но ваш вопрос связан только с синтаксическими движениями. –
@Alexandru: это то, что ваш downvote? Если да, то почему? –