Ключевую роль в построении парсеров для LL(1)-грамматик играют множества <tex> \mathrm{FIRST} </tex> и <tex> \mathrm{FOLLOW} </tex>.
Введём обозначения* Пусть <tex> c </tex> {{---}} символ из алфавита <tex> \Sigma </tex>* , <tex> \alpha,\ \beta </tex> {{---}} строки из нетерминалов и терминалов (возможно пустые)* , <tex> S,\ A </tex> {{---}} нетерминалы грамматики (начальный и произвольный соответственно)* , <tex> \$ </tex> {{---}} символ окончания слова. Тогда определим <tex> \mathrm{FIRST} </tex> и <tex> \mathrm{FOLLOW} </tex> следующим образом:
{{Определение
|id=deffirst