Grammatikák csoportosítása
Grammatikák - ismétlés
Egy rendezett négyest grammatikának nevezünk, ha
- és diszjunkt véges ábácék. elemeit nemterminális, elemeit pedig terminális szimbólumnak nevezzük.
- a grammatika kezdőszimbóluma
- rendezett párok véges halmaza, ahol és legalább egy nemterminális szimbólumot tartalmaz
A halmaz elemeit szabályoknak (vagy átírási szabályoknak vagy produkcióknak) hívjuk.
A gyakorlatban az jelölés helyett szinte mindig az jelölést használjuk.
Legyen egy generatív grammatika és legyen .
A szó közvetlenül vagy egy lépésben levezethető az szóból -ben,
jelölése: , ha és
, ahol és .
Legyen egy generatív grammatika és legyen .
A szó (több lépésben) levezethető, ha vagy van olyan és , hogy
és
Jelölés:
Grammatikák Chomsky féle osztályozása
Legyen egy grammatika. A grammatika -típusú (), ha szabályhalmazára teljesülnek a következők:
- eset: nincs korlátozás
- eset:
- minden szabálya alakú, ahol és
- Egyetlen kivételt megengedünk: tartalmazhatja az szabályt, de csak abban az esetben, ha nem fordul elő egyetlen szabályának jobb oldalán sem. Korlátozott szabály (KES)
- eset: minden szabálya alakú, ahol és
- eset: minden szabálya vagy vagy alakú, ahol és
Jelölje az -típusú gramatikák osztályát.
Grammatikák osztályba sorolása
Legyen egy grammatika. A következő esetek lehetségesek:
Lokálisan minden szabály -as és teljesül a KES.
Lokálisan minden szabály -as den nem teljesül a KES.
Lokálisan minden szabály -as, van -as szabály és teljesül a KES.
Lokálisan minden szabály -es, van nem -as szabály de nem teljesül a KES.
Lokálisan minden szabály -es, van nem -es szanály és teljesül a KES.
Van nem -es szabálya vagy minden szabály -es, van nem
-es szabálya és nem teljesül a KES.
jelöli az -típusú nyelvek nyelvosztályát, elemeit -típusú nyelveknek nevezzük.
- A 0-típusú grammatikákat mondatszerkezetű (phrase-structure) grammatikáknak is nevezzük, ami nyelvészeti eredetükre utal.
- A 1-típusú grammatikák a környezetfüggő (context-sensitive) grammatikák, mert szabályai olyanok, hogy, egy A nemterminális valamely előfordulása egy szóval csak és kontextus jelenlétében helyettesíthető.
- 2-típusú grammatikákat környezetfüggetlen (context-free) grammatikáknak mondjuk, mert szabályai olyanok, hogy az nemterminális -vel való helyettesítése bármely kontextusban megengedett.
- A 3-típusú grammatikákat reguláris (regular) vagy véges állapotú (finite state) grammatikáknak hívjuk, a véges állapotú automatákkal való kapcsolatuk miatt.
- 0,1,2,3-típusú nyelvek osztályait rendre rekurzíven felsorolható, környezetfüggő, környezetfüggetlen, valamint reguláris nyelvosztálynak is mondjuk.
Grammatikák a gyakorlatban
- BNF (Backus-Naur Form).
A BNF egy széles körben használt metanyelv melynek segítségével szabályok alkothatók meg (például egy programozási nyelv szintaktikai szabályai).
Építőkövei:
- , fogalmak (nemdeterminánsok)
- a szabályok bal- és jobboldalának elválasztása
- a sztringek alkotóelemei (terminálisok)
Egy szabály bal- és jobboldalból áll, köztük ::=, baloldalon pontosan 1 fogalom, jobboldalon terminálisok és fogalmak véges sorozata állhat.
A BNF megfelel a környezetfüggetlen grammatikának.
Chomsky-féle hierarchia
A grammatikák alakja alapján és
Később azt is meg fogjuk mutatni, hogy a következö tétel fennáll:
Ekvivalens grammatikák és nyelvek
Amíg minden grammatika egyetlen nyelvet generál, ez fordítva nem igaz. Ugyanazt a nyelvet több különböz ̋o grammatika is generálhatja.
A és grammatikák ekvivalensek egymással, ha ugyanazt a nyelvet generálják, azaz teljesül.
Az és nyelveket egymással gyengén ekvivalensnek nevezzük, ha legfeljebb az tartalmazásában térnek el egymástól, azaz ha .
A és grammatikákat gyengén ekvivalensnek nevezzük, ha egymással gyengén ekvivalens nyelveket generálnak.
Terminánsok elimminációja a szabályok baloldalán
Minden grammatikához van vele ekvivalens és azonos típusú grammatika, melyre minden -re
Zártsági tulajdonságok
Az unió, konkatenáció és iteratív lezárás műveleteket reguláris műveleteknek nevezzük.
Egy nyelvcsalád zárt a -változós nyelvműveletekre nézve, ha minden esetén
zárt a reguláris műveletekre nézve ()