Ero säännöllisen lausekkeen ja asiayhteydettömän kieliopin välillä
Sisällysluettelo:
- Mikä on säännöllinen lauseke
- Mikä on kontekstivapaa kielioppi
- Säännöllisen lausekkeen ja asiayhteydettömän kieliopin suhde
- Ero säännöllisen lausekkeen ja asiayhteydettömän kieliopin välillä
The tärkein ero säännöllisen lausekkeen ja kontekstivapaan kieliopin välillä on, että säännölliset lausekkeet auttavat kuvaamaan kaikkia tavallisen kielen merkkijonoja, kun taas kontekstivapaa kielioppi auttaa määrittelemään kaikki kontekstivapaan kielen kaikki mahdolliset merkkijonot.
Kielioppi tarkoittaa syntaktisia sääntöjä keskustelulle luonnollisilla kielillä. Tietotekniikka käyttää muodollisten kielten teoriaa suurelta osin. Vuonna 1956 Noam Chomsky antoi matemaattisen mallin kieliopista tietokoneiden kielten kirjoittamista varten. Kun on mahdollista johtaa joukko kaikkia merkkijonoja kieliopista, sanotaan, että kieli syntyy tästä kieliopista. Kaksi kielioppia ovat säännöllinen kielioppi ja kontekstiton kielioppi. Mikä tahansa kieli, jota voidaan kuvata säännöllisellä lausekkeella, on tavallinen kieli. Kontekstiton kielioppi on säännöllisen lausekkeen yleistys. On mahdollista käyttää säännöllisiä lausekkeita säännöllisten kielten kirjoittamiseen ja kontekstivapaa kielioppi kontekstivapaan kieliopin kirjoittamiseen.
Säännöllinen lauseke, kontekstiton kielioppi
Mikä on säännöllinen lauseke
Säännöllinen kielioppi tuottaa säännöllisiä kieliä. Tällä kieliopilla on yksi ei-pääte vasemmalla puolella ja oikea puoli, joka koostuu yhdestä terminaalista tai yhdestä terminaalista ja jota seuraa yksi ei-pääte. Sillä voi olla tuotantosääntö seuraavasti.
X -> a tai X -> a Y
Missä X, Y ϵ N (ei-pääte) ja ϵ T (pääte)
Säännölliset lausekkeet auttavat kirjoittamaan säännöllistä kielioppia kuvaamaan tavallisia kieliä.
Säännöllinen lauseke edustaa tiettyä merkkijonoa algebrallisella tavalla. Seuraavassa on joitain tärkeitä sääntöjä, joita on noudatettava säännöllisen lausekkeen kirjoittamisessa.
- Pääte-, tyhjä- ja tyhjä symboli ovat säännöllisiä lausekkeita.
- Kahden säännöllisen lausekkeen liitto on säännöllinen lauseke.
- Kahden säännöllisen lausekkeen yhdistäminen on säännöllinen lauseke.
- Iteraatio tai sulkeminen on säännöllinen lauseke.
Joukon {0, 1, 2} säännöllinen lauseke on seuraava.
R = 0 + 1 + 2
Joukko {abb, a, b, bba} voidaan esittää seuraavalla säännöllisellä lausekkeella.
R = abb + a + b + bba
Harkitse joukkoa, {ϵ, 0, 00, 000,…}
Ε on tyhjä merkkijono. Säännöllinen lauseke on R = 0*. Tämä edustaa symbolin sulkemista, mukaan lukien tyhjä symboli.
Sarjassa {1, 11, 111, 1111,…..}
Säännöllinen lauseke on R = 1 +. Tämä + tarkoittaa symbolin sulkemista tyhjää symbolia lukuun ottamatta.
Mikä on kontekstivapaa kielioppi
Muodollisessa kieliteoriassa Context Free Language (CFL) on Context Free Grammarin luoma kieli. Neljä parametria määrittävät asiayhteydettömän kieliopin (G).
G = {V, ∑, S, P}
V: Muuttuvien tai ei -terminaalisten symbolien sarja.
∑: Liittimen symbolien sarja
S: Aloitussymboli
P: Tuotantosääntö
Kontekstivapaalla kieliopilla on seuraava tuotantosäännön muoto.
A -> a jossa a = {V, ∑}* ja A ϵ V
Yksi esimerkki kontekstivapaasta kieliopista on seuraava. Jokainen tuotanto koostuu terminaalittomasta symbolista ja säännöllisestä lausekkeesta.
Kielen luominen, joka tuottaa yhtä monta a: ta ja b: tä, on muodossa a b . Kontekstivapaa kielioppi on seuraava.
G = {(S, A), (a, b), (S -> aAb, A -> aAb | ϵ)}
Ottaen huomioon aloitussymbolin,
S -> a A b
Soveltamalla A -> aAb
→ a a A b b
Käyttämällä uudelleen A -> aAb,
→ a a a A b b b
Käyttämällä A -> ϵ (Tämä symboli tarkoittaa tyhjää merkkijonoa)
→ a a a b b b
→ a 3 b 3
Tuotosta tarkasteltaessa a: n lukumäärä on yhtä suuri kuin b: n lukumäärä. Siinä on a b muodossa.
Säännöllisen lausekkeen ja asiayhteydettömän kieliopin suhde
Ero säännöllisen lausekkeen ja asiayhteydettömän kieliopin välillä
Määritelmä
Säännöllinen lauseke on muodollisen kieliteorian käsite, joka on merkkijono, joka määrittelee hakumallin. Kontekstivapaa kielioppi on muodollinen kielioppi muodollisessa kieliteoriassa, joka on joukko tuotantosääntöjä, jotka kuvaavat kaikkia mahdollisia merkkijonoja tietyllä virallisella kielellä.
Käyttö
Säännölliset lausekkeet auttavat edustamaan tiettyjä merkkijonoja algebrallisella tavalla. Se auttaa edustamaan tavallisia kieliä. Kontekstiton kielioppi auttaa määrittelemään kaikki kontekstittoman kielen mahdolliset merkkijonot.
Johtopäätös
Säännöllinen lauseke on menetelmä kuvioiden sovittamiseksi. Se on joustava tapa tarjota joustava ja ytimekäs keino tekstin merkkijonojen vastaamiseksi. Se määrittelee kaikki merkkijonot tavallisella kielellä. Toisaalta kontekstivapaa kielioppi mahdollistaa kaikkien kontekstivapaaseen kieleen kuuluvien merkkijonojen määrittelyn. Ero säännöllisen lausekkeen ja asiayhteydettömän kieliopin välillä on se, että säännölliset lausekkeet auttavat kuvaamaan kaikki tavallisen kielen merkkijonot, kun taas kontekstivapaa kielioppi auttaa määrittelemään kaikki kontekstivapaan kielen kaikki mahdolliset merkkijonot.
Viite:
1. "Säännölliset lausekkeet". Www.tutorialspoint.com, Tutorials Point, 8. tammikuuta 2018, saatavana täältä. "Johdatus kontekstiton kielioppi." Www.tutorialspoint.com, Tutorials Point, 8. tammikuuta 2018, saatavana täältä.
Kuva:
1. ”Toolbaricon RegEx” M0tty-Oma työ (CC BY-SA 4.0) Commons Wikimedian kautta