В Интернете есть много примеров, показывающих, как построить таблицы синтаксического анализа для контекстно-свободной грамматики из первых/следующих наборов для парсера LL (1).Как построить таблицу разбора для LL (k> 1)?
Но я не нашел ничего полезного, связанного с k> 1 случаем. Даже википедия не дает информации об этом.
Я ожидаю, что это должно быть каким-то образом похожее, но указатели на существующие исследования в этой области были бы очень полезными.
У меня есть копия большой книги по разбору, которая, к сожалению, пропускает эту тему. Мне так же любопытно, как и ты. Однако, по моему мнению, алгоритмы для k> 1 существенно более востребованы и полностью неосуществимы на практике. Думаю, мы узнаем! – templatetypedef
Я не думаю, что это невозможно. По крайней мере ANTLR претендует на разбор LL (K) (с любыми K) грамматиками. –
С помощью рекурсивных парсеров спуска, вы просто поддерживаете список перспектив. Тогда есть много оптимизаций, чтобы улучшить это, например, воспоминания и отслеживание назад. Не уверен, как это работает для парсинга, управляемого партией! Вы уже поняли это? –