Ero epäselvän ja yksiselitteisen kieliopin välillä

Sisällysluettelo:

Anonim

The tärkein ero epäselvän ja yksiselitteisen kieliopin välillä on, että epäselvä kielioppi on kontekstiton kielioppi, jolle on olemassa merkkijono, jolla voi olla useampi kuin yksi vasemmanpuoleinen johdannainen, kun taas yksiselitteinen kielioppi on kontekstiton kielioppi, jolle jokaisella kelvollisella merkkijonolla on ainutlaatuinen vasemmanpuoleinen johdannainen.

Kielioppi viittaa syntaktisiin sääntöihin luonnollisilla kielillä. Vuonna 1956 tietojenkäsittelytieteilijät esittivät matemaattisen kieliopin mallin tietokoneen kielen kirjoittamiseen. Jos on mahdollista johtaa kaikki kielen merkkijonot tiettyä kielioppia käyttäen, sanotaan, että kieli syntyy tästä kieliopista. Kontekstiton kielioppi on yksi kieliopin tyyppi. Tämä kielioppi luo kontekstivapaan kielen. Kontekstivapaa kielioppi voi olla epäselvä tai yksiselitteinen. Jos tietyllä merkkijonolla on kaksi tai useampia johdannaisia, kieliopin sanotaan olevan epäselvä. Jos tietyllä merkkijonolla on ainoa ainutlaatuinen vasemmanpuoleinen johdannainen, kyseisen kieliopin sanotaan olevan yksiselitteinen kielioppi.

Epäselvä kielioppi, yksiselitteinen kielioppi

Mikä on epäselvä kielioppi

Kieliopin sanotaan olevan epäselvä, jos merkkijonolle on olemassa kaksi tai useampia johdannaisia.

Kuva 1: Epäselvä kielioppi

Oletetaan, että kielioppi on määritelty seuraavasti.

G = ({S}, {a+b,+, *}, P, S}. Tuotantosäännöt ovat seuraavat. S -> S+S | S *S | a | b. Oletetaan, että Luo merkkijono a+ a*b.

Harkitse, S -> S+S

Korvaamalla "a" vasemmalle suurimmalle osalle S saadaan seuraava.

S-> a +S

S*S: n korvaaminen S: llä on seuraava.

S-> a + S*S

Korvaamalla "a" vasemmalle suurimmalle osalle S saadaan alla oleva tulos.

S -> a+ a*S

Korvaamalla "b" S: llä saat seuraavan tuloksen.

S -> a + a * b

Tämä on tarvittava merkkijono generoimiseksi.

Kun käytetään toista tuotantosääntöä, se antaa

S -> S* S

Käytä S+S vasemmalle useimmat S antaa seuraavan.

S -> S+S * S

Korvaa "a" vasemmalle useimmille S,

S -> a + S*S

Korvaamalla "a" vasemmalle useimmille S,

S -> a + a * S

Korvaamalla "b" S: llä saat seuraavan tuloksen.

S -> a + a*b

Jälleen se loi vaaditun merkkijonon. Siksi merkkijonon luomiseen on useampi kuin yksi johdannainen. Siksi se on epäselvä kielioppi.

Mikä on yksiselitteinen kielioppi

Epäselvässä kieliopissa tietyllä merkkijonolla on ainutlaatuinen vasemmanpuoleinen johdannainen. Katso seuraavat tuotantosäännöt.

S -> L | a, L -> LS | S

Harkitse S -> L -sääntöä. Korvaa LS L: n sijasta.

S -> LS

Korvaa S ensimmäisen L: n kohdalla.

S -> S S.

Korvaamalla "a" vasemmanpuoleisimpaan S saadaan alla oleva tulos.

S -> a S.

S: n korvaaminen a: lla antaa seuraavan.

S -> a a

Siksi merkkijonolla on ainutlaatuinen vasemmanpuoleinen johdannainen. Kyseessä on siis yksiselitteinen kielioppi.

Ero epäselvän ja yksiselitteisen kieliopin välillä

Määritelmä

Epäselvä kielioppi on kontekstiton kielioppi, jolle on olemassa merkkijono, jossa voi olla useampi kuin yksi vasemmanpuoleisin johdannainen tai jäsennyspuu. Yksiselitteinen kielioppi on kontekstiton kielioppi, jolle jokaisella kelvollisella merkkijonolla on ainutlaatuinen vasemmanpuoleisin johdannainen tai jäsennyspuu.

Vasemmanpuoleisimpien johdannaisten määrä

Epäselvässä kieliopissa merkkijonolla voi olla kaksi tai useampia vasemmanpuoleisia derivaattoja, mutta yksiselitteisessä kieliopissa merkkijonolla on ainutlaatuinen vasemmanpuoleinen johdannainen.

Johtopäätös

Kontekstiton kielioppi voi olla epäselvä tai yksiselitteinen. Ero epäselvän ja yksiselitteisen kieliopin välillä on se, että epäselvä kielioppi on kontekstiton kielioppi, jolle on olemassa merkkijono, jolla voi olla useampi kuin yksi vasemmanpuoleinen johdannainen, kun taas yksiselitteinen kielioppi on kontekstiton kielioppi, jolle jokaisella kelvollisella merkkijonolla on ainutlaatuinen vasemmanpuoleinen johdannainen.

Viite:

1. "Epäselvä kielioppi." Wikipedia, Wikimedia Foundation, 17. heinäkuuta 2018, saatavana täältä. "Kääntäjäsuunnittelu | Epäselvä kielioppi. ” GeeksforGeeks, 10. helmikuuta 2018, saatavana täältä. ”Epäselvä kielioppi”, Neso Academy, 29.3.2017, saatavana täältä.

Kuva:

1. ”Leftmostderivations jaredwf” Tekijä Jaredwf englanninkielisestä Wikipediasta - EdwardHades (Public Domain) siirsi en.wikipediasta Commonsiin Commons Wikimedian kautta

Ero epäselvän ja yksiselitteisen kieliopin välillä