Pok-4-wyk-Slajd19
Z Studia Informatyczne
Gramatyka bezkontekstowa
Konstrukcje w językach programowania często mają strukturę rekurencyjną. Ponieważ wyrażenia regularne, które poznaliśmy podczas omawiania analizy leksykalnej nie są wystarczające do opisu większości tych konstrukcji, potrzebny jest mocniejszy mechanizm.
Z pomocą pojawiają się tu gramatyki bezkontekstowe.
Przykładowo popularną w wielu językach instrukcję warunkową można zdefiniować za pomocą reguły: Jeśli S1 i S2 są instrukcjami a E jest wyrażeniem, to "if E then S1 else S2" jest również instrukcją. Opisanie tej postaci instrukcji za pomocą wyrażenia regularnego nie jest możliwe. Można natomiast stworzyć odpowiednią gramatykę bezkontekstową.