Второе правило подразумевает цикл, как если бы у вас была строка, такая как:
exp EOL exp EOL exp EOL exp EOL
Каждый из этих "exp EOL" является калькулятором, который включен в другой кальклист.Следовательно, правила будут сокращать эту строку следующим образом:
exp EOL exp EOL exp EOL exp EOL
calclist1 exp EOL exp EOL exp EOL exp EOL < - Rule 1. calclist1 is [ ], the empty string.
calclist2 exp EOL exp EOL exp EOL < - Rule 2. calclist2 is calclist1 exp EOL
calclist3 exp EOL exp EOL < - Rule 2. calclist3 is calclist2 exp EOL
calclist4 exp EOL < - Rule 2. calclist4 is calclist3 exp EOL
calclist5 < - Rule 2. calclist5 is calclist4 exp EOL
Вот что это означает, создавая цикл.Как и та часть, которую вы цитировали, это обычная «идиома» при определении грамматик для создания списка выражений произвольной длины.
Я надеюсь, что это ответ на ваш вопрос.1011 *