Изменения

Перейти к: навигация, поиск

LL(k)-грамматики, множества FIRST и FOLLOW

481 байт добавлено, 13:34, 12 августа 2015
FIRST и FOLLOW: добавлено определение FIRST_k
}}
Другими словами, <tex> \mathrm{FIRST}(\alpha) </tex> {{---}} все символы (терминалы), с которых могут начинаться всевозможные выводы из <tex> \alpha </tex>, а <tex> \mathrm{FOLLOW}(A) </tex> {{---}} всевозможные символы, которые встречаются после нетерминала <tex> A </tex> во всех [[Удаление бесполезных символов из грамматики | небесполезных]] правилах грамматики.
 
'''Замечание:''' более общим случаем множества <tex> \mathrm{FIRST} </tex> является множество <tex> \mathrm{FIRST}_k </tex>, однако в данном конспекте оно не используется.
{{Определение
|id=deffirstk
|definition=
<tex> \mathrm{FIRST}_k(\alpha) = \{w \mid \alpha \Rightarrow^* w \beta,\ |w| = k \} \cup \{ \varepsilon\ \mathrm{if}\ \alpha \Rightarrow^* \varepsilon \} </tex>
}}
=== Примеры ===
Множества <tex> \mathrm{FIRST} </tex> и <tex> \mathrm{FOLLOW} </tex> могут отличаться даже для одной грамматики, если она задана разными правилами. Рассмотрим пример двух различных грамматик для языка правильных скобочных последовательностей.
Анонимный участник

Навигация