Жирным шрифтом являются маркеры (в < переменная >, а также b и c также должны быть жирным шрифтом, ошибка вашего учителя). Элементы в угловых скобках - это правила производства.
Грамматика LL (1), если для любого места альтернатива существует (отделенной |), синтаксический анализатор может решить, какую альтернативу проводить, глядя на только один жетон (следующего).
Так возьмите, например, <stmt> правило. Он имеет четыре альтернативы. <ifstmt> должен начинаться с токена , если. <whilestmt> должен начинаться с токена , а. < блок > должен начинаться с токена начало. Это оставляет только < назначить >, который должен начинаться с переменной, то есть, ровно один из , б или с. Что касается <stmt>, то парсер LL (1) может обработать это правило, потому что он может решить между четырьмя возможностями, исследуя только один токен.
Если какое-либо правило требует (например) изучения двух токенов, то парсер LL (1) не может обработать эту грамматику - для этого требуется парсер LL (2).
Надеюсь, это поможет.
Слова, выделенные жирным шрифтом, являются литералами (ключевые слова). – rici
@rici Спасибо! Делает гораздо больше смысла. –