Побудова LL(k)-синтаксичного аналізатора (k>1)
Повернемось до умови, при якій граматика G буде LL(k)-граматикою, а саме: для довільного виводу:


Оскільки
- конструктивна множина, спробуємо побудувати всілякі множини L, які задовольняють попередньо сформульованій умові.
Означення. Множина

Алгоритм. Пошук множини 
П0: 
в інших випадках - невизначено.
П1: 
в інших випадках - невизначено.
…. ….. ……
Пn: 
в інших випадках - невизначено.
…. …. ….
Пm: 
Тоді
.
Виходячи з означення
, умови для LL(k)-граматики будуть наступними: для довільного А-правила виду:


Як наслідок, з алгоритму пошуку
видно, що

Для побудови синтаксичного аналізатора для LL(k)-граматики (k>1) необхідно побудувати множину таблиць, що забезпечать нам безтупиковий аналіз вхідного ланцюжка w (програми) за час пропорційний О(n), де n=| w |.
Побудову множини таблиць для управління LL(k)-аналізатором почнемо з таблиці, яка визначає перший крок безпосереднього виводу w в граматиці G:

Неформально, коли в магазині автомата знаходиться аксіома S, то нас цікавить перших k термінальних символів, які можна вивести з S (аксіома - поняття "програма") при умові, що після неї (програми) буде досягнуто EOF.
Імена інших таблиць Т1, Т2, … Тp визначаються так:

Наступні таблиці визначаються так:

Наступні таблиці
визначаються так:

Виходячи з вищенаведеної побудови множини таблиць управління LL(k)-синтаксичним аналізатором видно, що для нетермінала Аi множина таблиць буде наступна:

Приклад. Побудувати множину таблиць управління для LL(2)-граматики з наступною схемою правил:

Для вищенаведеної граматики множини
будуть такі:
,
а множини
.
Побудуємо першу таблицю
Для S-правила відповідні множини u будуть такі:

Таблиця T0 визначається так:
| aa | ab | ba | bb | a | b |
|
|
|
|
Нова таблиця управління
Для A-правила відповідні множини u будуть такі:


| aa | ab | ba | bb | a | b |
|
|
|
|
|
Нова таблиця управління
Для таблиці
та S-правила множини u будуть такі:

| aa | ab | ba | bb | a | b |
|
|
|
|
Наступна таблиця
Для таблиці
та A-правила множини u будуть такі:


| aa | ab | ba | bb | a | b |
|
|
|
|
|
Нова таблиця 
Ми визначили чотири таблиці-рядки (а їх кількість для довільної LL(k)-граматики визначається так:

Об'єднаємо рядки-таблиці в єдину таблицю та виконаємо перейменування рядків:
| aa | ab | ba | bb | a | b |
|
|
|
| |||||
|
|
|
| ||||
|
|
| |||||
|
|
|
|
Алгоритм. Синтаксичний аналізатор для LL(k)-граматики (k>1).
П0: Прочитати k лексем з вхідного файла програми (звичайно, інколи менше ніж k). В магазин занести таблицю Т0.
…. ….
Пi: - Якщо на вершині магазина знаходиться таблиця Ti, то елемент таблиці М(Тi, <k-вхідних лексем>) визначає ланцюжок, який Ti заміщає на вершині магазина.
- Якщо на вершині магазина
і перша поточна лексема з k прочитаних лексем рівна
, то з вершини магазина зняти
та прочитати з вхідного файла додатково одну лексему (звичайно, якщо це можливо).
- Якщо досягли кінця вхідного файла програми та магазин порожній, то програма не має синтаксичних помилок.
- В інших випадках - синтаксична помилка.