Я не могу понять, почему Alternative остается рекурсивным. Это действительно бросает ключ в мой парсер.
Alternative :: [empty] Alternative Term
Вот примечание в части семантики спецификации, которая не совсем ясна. Может быть, рассуждение будет раскрыто, как только я это пойму?
ПРИМЕЧАНИЕ Последовательные термины пытаются одновременно сопоставить последовательные части входной строки. Если левая Альтернатива, правый Термин и продолжение регулярного выражения имеют точки выбора, все варианты в продолжении проверяются перед переходом к следующему варианту в правом Term, и все варианты в правом Term проверяются до переходим к следующему выбору в левой Альтернативе.
Какой синтаксический анализатор может правильно обрабатывать леворекурсивную грамматику?