Одна из недостатков / сложностей реализации синтаксических анализаторов с рекурсивным спуском связана с левой рекурсией, например,
<expr> := <expr> '+' <num>
| <num>
Анализатору необходимо проанализировать выражение, прежде чем он сможет анализировать выражение ...
Теперь Boost :: Spirit :: X3 генерирует парсеры рекурсивного спуска .Означает ли это, что он не поддерживает левую рекурсию или для этого есть обходные пути?
Примечание. Левая рекурсия может (часто? Всегда?) Заранее исключаться из грамматики (как в решении этот вопрос ), но я не об этом спрашиваю.