Конструирование таблицы предсказывающего анализатора
Для конструирования таблицы предсказывающего анализатора по грамматике G может быть использован алгоритм, основанный на следующей идее. Предположим, что A





возникает, когда





Алгоритм 4.6. Построение таблицы предсказывающего анализатора.
Вход. КС-грамматика G = (N, T, P, S).
Выход. Таблица M[A, a] предсказывающего анализатора, A



Метод. Для каждого правила вывода A


грамматики выполнить шаги 1 и 2. После этого выполнить шаг 3.
- Для каждого терминала a из FIRST() добавить Aк M[A, a].
- Если e FIRST(), добавить Aк M[A, b] для каждого
терминала b из FOLLOW(A). Кроме того, если e
FIRST() и $FOLLOW(A), добавить Aк M[A, $]. - Положить все неопределенные входы равными «ошибка».
Пример 4.5. Применим алгоритм 4.6 к грамматике из примера 4.3. Поскольку FIRST(TE') = FIRST(T) = {(, id }, в соответствии с правилом вывода E


В соответствии с правилом вывода E'




Таблица анализа, построенная алгоритмом 4.6 для этой грамматики, приведена на рис. 4.3.