Ylhäältä alas- ja alha alta ylös -jäsennyksen välinen ero

Sisällysluettelo:

Ylhäältä alas- ja alha alta ylös -jäsennyksen välinen ero
Ylhäältä alas- ja alha alta ylös -jäsennyksen välinen ero

Video: Ylhäältä alas- ja alha alta ylös -jäsennyksen välinen ero

Video: Ylhäältä alas- ja alha alta ylös -jäsennyksen välinen ero
Video: 20.11.20 Tulevaisuuden ilmiöt: Millaista johtajuutta monimutkaisessa toimintaympäristössä tarvitaan? 2024, Heinäkuu
Anonim

Avainero ylhäältä alas- ja alha alta ylös -jäsennyksen välillä on, että ylhäältä alas -jäsennys suorittaa jäsennyn tuijotussymbolista syöttömerkkijonoon, kun taas alha alta alas -jäsennys suorittaa jäsennyn syöttömerkkijonosta aloitussymboliin. Lisäksi toinen tärkeä ero ylhäältä alas- ja alha alta ylös -jäsennyksen välillä on se, että ylhäältä alas -jäsennys käyttää vasemmanpuoleista johtamista ja alha alta alas -jäsennys käyttää johtamista oike alta.

Korkean tason kielet auttavat tietokoneohjelmien kirjoittamisessa. Ohjelmoijan on helpompi ymmärtää ne, mutta tietokoneen ei. Siksi korkean tason ohjelma muuntaa konekoodiksi. Kääntäjän tehtävänä on muuntaa ihmisen luettava lähdekoodi koneellisesti luettavaksi konekoodiksi. Ohjelma käy läpi useita vaiheita muuntaakseen konekoodiksi. Koko tätä prosessia kutsutaan kielenkäsittelyjärjestelmäksi. Yksi niistä on kokoelma. Syntaksianalysaattori tai jäsentäjä on kääntäjässä ja se suorittaa jäsennystehtävän.

Mitä on ylhäältä alas -jäsennys?

Jokaisella ohjelmointikielellä on joukko sääntöjä, jotka edustavat kieltä. Syntaksianalysaattori tai jäsentäjä ottaa syötetyn merkkijonon ja tarkistaa, onko se kieliopin tuotantojen mukainen. Toisin sanoen kieliopin pitäisi tuottaa tämä merkkijono jäsennyspuun avulla.

Ylhäältä alas -jäsentämisessä jäsennys tapahtuu aloitussymbolista ja saavuttaa annetun syötemerkkijonon. Harkitse seuraavia kieliopin tuotantosääntöjä. Syöttömerkkijono (w) on cad.

S -> cAd

A -> ab /a

Jäsennyspuu ylhäältä alas -jäsentämisen jälkeen on seuraava.

Ero ylhäältä alas ja alha alta ylös -jäsennyksen välillä
Ero ylhäältä alas ja alha alta ylös -jäsennyksen välillä
Ero ylhäältä alas ja alha alta ylös -jäsennyksen välillä
Ero ylhäältä alas ja alha alta ylös -jäsennyksen välillä

Kuva 01: Jäsennyspuu 1 ylhäältä alas -jäsennyksellä

S tuottavat c A d ja A tuottaa a b. Merkkijono on cabd. Se ei ole pakollinen merkkijono. Joten on tarpeen tehdä backtracking eli käyttää muita vaihtoehtoja.

Samalla tavalla S tuottaa c A d. Toisen vaihtoehdon käyttäminen A:lle antaa a. Nyt se antaa vaaditun merkkijonon. Siksi jäsentäjä hyväksyy tämän syötemerkkijonon. Jäsennyspuu ylhäältä alas -jäsennyksen jälkeen on seuraava.

Ero ylhäältä alas ja alha alta ylös jäsentämisen välillä_Kuva 2
Ero ylhäältä alas ja alha alta ylös jäsentämisen välillä_Kuva 2
Ero ylhäältä alas ja alha alta ylös jäsentämisen välillä_Kuva 2
Ero ylhäältä alas ja alha alta ylös jäsentämisen välillä_Kuva 2

Kuva 02: Jäsennyspuu 2 ylhäältä alas -jäsennyksellä

Kun syöttömerkkijono (w) on abbcde

Harkitse seuraavia kieliopin tuotantosääntöjä.

S -> aABe

A -> Abc/b

B -> d

Jäsennyksessä ylhäältä alas, S -> aABe (korvaa A -> Abc)

S -> aAbcBe (korvaa A -> b)

S -> abbcBe (korvaa B ->d)

S -> abbcde

Korvaaminen alkaa ensin vasemmalla olevalla muuttujalla ja sitten seuraavaan oikeaan kohtaan ja niin edelleen. Siksi se noudattaa vasemmalla olevaa johtamismenetelmää. Lisäksi on tärkeää päättää, mikä tuotantosääntö valitaan, kun muuttuja on olemassa.

Mitä on alha alta ylös -jäsennys?

Alha alta ylös -jäsennys tapahtuu toisella tavalla. Jäsentäminen tapahtuu syöttömerkkijonosta aloitussymboliin. Harkitse seuraavia kieliopin tuotantosääntöjä ja olkoon syöttömerkkijono w ɛ cad

S -> cAd

A -> ab /a

Jäsennyspuu alha alta ylös -jäsentämisen jälkeen on seuraava.

Pääero ylhäältä alas ja alha alta ylös jäsentämisen välillä_Kuva 03
Pääero ylhäältä alas ja alha alta ylös jäsentämisen välillä_Kuva 03
Pääero ylhäältä alas ja alha alta ylös jäsentämisen välillä_Kuva 03
Pääero ylhäältä alas ja alha alta ylös jäsentämisen välillä_Kuva 03

Kuva 03: Jäsennyspuu alha alta ylöspäin -jäsennyksellä

Annettu merkkijono on cad. A generoi A. c, A ja d yhdistyvät, jolloin saadaan aloitussymboli S.

Kun syöttömerkkijono(w) on abbcde

Harkitse seuraavia kieliopin tuotantosääntöjä.

S -> aABe

A -> Abc/b

B -> d

Alha alta ylös -jäsennyksessä

S -> aABe (korvaa B ->d)

S -> aAde (korvaa A -> Abc)

S -> aAbcde (korvaa A -> b)

S -> abbcde

Korvaaminen alkaa ensin oikeasta muuttujasta ja siirtyy sitten seuraavaan vasempaan kohtaan ja niin edelleen. Siksi se noudattaa vasen mot-johdannaismenetelmää.

Mitä eroa on ylhäältä alas- ja alha alta ylös -jäsennysten välillä?

Ylhäältä alas -jäsennys on jäsennysstrategia, jossa tarkastellaan ensin jäsennyspuun korkeinta tasoa ja käsitellään jäsennyspuuta muodollisen kieliopin sääntöjä käyttäen. Alha alta ylös -jäsennys on jäsennysstrategia, jossa tarkastellaan ensin jäsennyspuun alinta tasoa ja käsitellään jäsennyspuuta käyttämällä muodollisen kieliopin sääntöjä. Jäsentäminen tapahtuu aloitussymbolista syötemerkkijonoon ylhäältä alas -jäsennyksessä. Toisa alta jäsentäminen tapahtuu syötemerkkijonosta aloitussymboliin alha alta ylöspäin tapahtuvassa jäsennyksessä.

Lisäksi pääpäätös ylhäältä alas -jäsentämisessä on valita, mitä tuotantosääntöä käytetään merkkijonon muodostamiseen, kun taas pääpäätös alha alta alas -jäsentämisessä on valita, milloin käytetään tuotantosääntöä merkkijonon pienentämiseksi. hanki aloitussymboli. Lisäksi ylhäältä alas -jäsennys käyttää vasemmanpuoleista johdannaista ja alha alta alas -jäsennys käyttää oikeaa johtamista.

Ero ylhäältä alas ja alha alta ylös -jäsennyksen välillä taulukkomuodossa
Ero ylhäältä alas ja alha alta ylös -jäsennyksen välillä taulukkomuodossa
Ero ylhäältä alas ja alha alta ylös -jäsennyksen välillä taulukkomuodossa
Ero ylhäältä alas ja alha alta ylös -jäsennyksen välillä taulukkomuodossa

Yhteenveto – Ylhäältä alas vs alha alta ylös jäsentäminen

Ylhäältä alas- ja alha alta ylös -jäsennys eroaa siinä, että ylhäältä alas -jäsennys suorittaa jäsentämisen tuijotussymbolista syötemerkkijonoon, kun taas alha alta alas -jäsennys suorittaa jäsennyn syöttömerkkijonosta aloitussymboliin.

Suositeltava: