Säännöllinen kielioppi on tyypin 3 formaali kielioppi Chomsky-hierarkiassa , säännölliset kieliopit määrittelevät tarkalleen kaikki säännölliset kielet ja vastaavat siten tilakoneita ja säännöllisiä lausekkeita . Tavalliset kieliopit ovat osa yhteydettömiä kielioppeja .
Säännöllinen kielioppi voidaan määrittää säännöillä vasemman tai oikeanpuoleiseksi säännölliseksi kielioppiksi.
Oikea säännöllinen kielioppi tai oikea- lineaarinen kielioppi - kaikki säännöt voivat olla jossakin seuraavista muodoista:
vasen säännöllinen kielioppi tai vasen lineaarinen kielioppi - kaikki säännöt voivat olla jossakin seuraavista muodoista:
missä
Oikean ja vasemman säännöllisen kieliopin luokat ovat samanarvoisia – kukin erikseen otettuna riittää määrittelemään kaikki säännölliset kielet. Mikä tahansa tavallinen kielioppi voidaan muuntaa vasemmalta oikealle ja päinvastoin.
Vaihtoehtoiset nimet johtuvat siitä, että ne ovat lineaaristen kielioppien yleisemmän luokan alaluokkia .
Oikea säännöllinen kielioppi G , jonka N = {S, A}, Σ = {a, b, c}, P antaa, koostuu seuraavista säännöistä:
S → aS S→bA A→ε A→cAja S on aloitussymboli. Tämä kielioppi kuvaa samaa kieltä kuin säännöllinen lauseke a*bc*.
On oleellista, että säännöt ovat joko vain vasen-säännöllisiä tai vain oikea-säännöllisiä. Molempien yhdistelmä ei ole sallittua. Esimerkiksi yhteydetön merkkijonokieli muodossa , jossa ei ole säännöllinen, vaan sen antaa kielioppi G , jossa N = {S, A}, Σ = {a, b}, P koostuu
S→aA A→Sb S→εja S on aloitussymboli. Tämä kielioppi sisältää sekä vasen-säännölliset että oikeat-säännölliset säännöt, joten se ei ole säännöllinen.
Muodolliset kielet ja viralliset kieliopit | |
---|---|
Yleiset käsitteet | |
Tyyppi 0 | |
Tyyppi 1 |
|
Tyyppi 2 | |
Tyyppi 3 |
|
jäsentäminen |