LL(k)-грамматика, множества FIRST и FOLLOW — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
(определение LL(k)-грамматики)
 
 
Строка 1: Строка 1:
{{В разработке}}
+
#перенаправление [[LL(k)-грамматики, множества FIRST и FOLLOW]]
 
 
{{TODO | t = Небольшое введение}}
 
 
 
{{Определение
 
|id=defLLK
 
|definition=
 
КС-грамматика <tex> \Gamma </tex> называется '''LL(k)-грамматикой''', если при возникновении следующей ситуации:
 
* <tex> S \Rightarrow^* p A \beta \Rightarrow  p \alpha \beta \Rightarrow^* p y \eta </tex>
 
* <tex> S \Rightarrow^* p A \beta' \Rightarrow  p \alpha' \beta \Rightarrow^* p y \xi </tex>
 
где <tex> S </tex> {{---}} стартовый нетерминал грамматики, <tex> p </tex> {{---}} цепочка из терминалов, уже разобранная часть слова, {{---}} <br>
 
и при выполнении условий, что <tex> |y| = k </tex> или <tex> |y| < k, \eta = \xi = \varepsilon </tex>, верно, что <tex> \alpha = \alpha' </tex>.
 
}}
 
 
 
{{TODO | t = LL(1)-грамматика}}
 
{{TODO | t = FIRST и FOLLOW, примеры (скобочные последовательности)}}
 
{{TODO | t = Теорема об LL(1)-грамматиках}}
 
{{TODO | t = Псевдокоды построения множеств FIRST и FOLLOW}}
 
{{TODO | t = Примеры арифметических выражений с табличками, левая рекурсия правое ветвление}}
 

Текущая версия на 16:57, 21 июня 2014