Gramatyka bezkontekstowa




Gramatyka bezkontekstowa – gramatyka formalna, w której wszystkie reguły wyprowadzania wyrażeń są postaci:


A→Γ,{displaystyle Ato Gamma ,}{displaystyle Ato Gamma ,}

gdzie:




A{displaystyle A}A – dowolny symbol nieterminalny, jego znaczenie nie zależy od kontekstu, w jakim występuje;


Γ{displaystyle Gamma }Gamma – dowolny (być może pusty) ciąg symboli terminalnych i nieterminalnych.


Każdy język bezkontekstowy generowany jest przez pewną gramatykę bezkontekstową.



Formalna definicja |


Gramatyką bezkontekstową nazywa się czwórkę uporządkowaną (T,N,P,S),{displaystyle (T,N,P,S),}{displaystyle (T,N,P,S),} gdzie:




  • T{displaystyle T}T jest skończonym zbiorem symboli terminalnych,


  • N{displaystyle N}N jest skończonym zbiorem symboli nieterminalnych,


  • P{displaystyle P}P jest skończonym zbiorem reguł typu L→R,{displaystyle Lto R,}{displaystyle Lto R,} gdzie L∈N{displaystyle Lin N}Lin N oraz R∈(T∪N)∗,{displaystyle Rin (Tcup N)^{*},}{displaystyle Rin (Tcup N)^{*},}


  • S∈N{displaystyle Sin N}Sin N jest wyróżnionym elementem początkowym.



Przykłady |



Przykład 1

Gramatyka ({a,b},{S},{S→aSb|ϵ},S){displaystyle ({a,b},{S},{Sto aSb|epsilon },S)}{displaystyle ({a,b},{S},{Sto aSb|epsilon },S)} generuje język {anbn:n∈N}.{displaystyle {a^{n}b^{n}:nin mathbb {N} }.}{displaystyle {a^{n}b^{n}:nin mathbb {N} }.} Ten język nie jest regularny.



Przykład 2

Język {w:w∈{a,b}∗w=wR},{displaystyle {w:win {a,b}^{*}wedge w=w^{R}},}{displaystyle {w:win {a,b}^{*}wedge w=w^{R}},} który jest językiem wszystkich palindromów nad alfabetem {a,b},{displaystyle {a,b},}{displaystyle {a,b},} może być wygenerowany przez następującą gramatykę:

({a,b},{S},{S→aSa|bSb|a|b|ϵ},S).{displaystyle ({a,b},{S},{Sto aSa|bSb|a|b|epsilon },S).}{displaystyle ({a,b},{S},{Sto aSa|bSb|a|b|epsilon },S).}



Postaci normalne |


Każdy język bezkontekstowy nie zawierający słowa pustego może być wyrażony za pomocą gramatyki w postaci normalnej Greibach oraz postaci normalnej Chomskiego.





這個網誌中的熱門文章

12.7 cm/40 Type 89 naval gun

University of Vienna

Rikitea