Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.
Nástěnka
❗22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
❗04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
❗23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.
Nejste přihlášen(a). Přihlásit
Ahoj všem, prosím o vysvětlení následujícího problému...
Mám následující gramatiku:
S --> a A b | B A c B | epsilon;
A --> f a B d | a S | epsilon;
B --> b c B | d;
Množiny FIRST, by pak (podle mě) vypadaly takto:
Pro S:
FIRST(a A b) = {a}
FIRST(B A c B) = {b, d}
FIRST( epsilon) = epsilon
Pro A:
FIRST(f a B d) = {f}
FIRST(a S) = {a}
Pro B:
FIRST(b c B) = {b}
FIRST(d) = {d}
Až potud je mi to jasné...
Ve skriptech je, ale ještě uvedeno
FIRST(S) = {a, b, d, epsilon}
FIRST(AS) = {f, a, b, d, epsilon).
Umíte mi, prosím, někdo vysvětlit PROČ tam jsou ještě tyto množiny a jak se přišlo např. na FIRST(S), když S není na začátku žádného pravidla ýádného neterminálu a jak a proč se přišlo na kombinaci neterminálů FIRST(AS)? Jsou opravdu nutné např. pro určování, zda je gramatika LL1?
Díky moc za odpovědi... Docela to spěchá... Ráno mám zkoušku... :-)
Offline