Gramatyka formalna: Różnice pomiędzy wersjami
[wersja przejrzana] | [wersja przejrzana] |
Usunięta treść Dodana treść
m robot dodaje: sk:Gramatika (informatika) |
|||
Linia 3:
Aby zdefiniować gramatykę formalną trzeba określić zbiór '''[[symbol terminalny|symboli terminalnych]]''', zbiór '''[[symbol nieterminalny|symboli nieterminalnych]]''', '''[[symbol startowy]]''', oraz zbiór '''reguł''' które określają sposób w jaki wyprowadzamy słowa.
Symbole terminalne (równoważne symbolom alfabetu języka) są symbolami, które pozostaną w wyprowadzonym słowie
Rozważmy przykładową gramatykę z symbolem nieterminalnym S, który jest jednocześnie symbolem startowym, oraz zbiorem symboli terminalnych <math>\{a,b\}</math>.
Linia 54:
:Oraz wszystkie regułki obu gramatyk.
Słowo będzie więc należało do języka jeśli da się wyprowadzić w jednej z gramatyk. Musimy jednak zadbać o to, żeby '''nie wolno było mieszać wyprowadzeń'''
Algorytm taki nie istnieje dla dopełnienia języka (zbioru wszystkich słów które '''nie należą''' do danego języka).
Linia 74:
Gramatyka regularna (odpowiednio: bezkontekstowa, kontekstowa) '''zawsze''' generuje język regularny (odp.: bezkontekstowy, kontekstowy). Jednak możliwe jest też, że pewna gramatyka, która nie jest regularna (bezkontekstowa, kontekstowa), generuje język regularny (bezkontekstowy, kontekstowy). W takim przypadku '''zawsze istnieje''' też gramatyka o '''regułach prostszej postaci''' generująca ten sam język.
[[Kategoria:
[[Kategoria:Gramatyka]]
|