Razlika između raščlanjivanja odozgo prema dolje i odozdo prema gore

Sadržaj:

Razlika između raščlanjivanja odozgo prema dolje i odozdo prema gore
Razlika između raščlanjivanja odozgo prema dolje i odozdo prema gore

Video: Razlika između raščlanjivanja odozgo prema dolje i odozdo prema gore

Video: Razlika između raščlanjivanja odozgo prema dolje i odozdo prema gore
Video: PSIHOPATIJA: kako prepoznati - iz "Uvoda u forenzičku psihologiju" dr sc. A. Sandić 2024, Studeni
Anonim

Ključna razlika između raščlanjivanja odozgo prema dolje i odozdo prema gore je u tome što raščlanjivanje odozgo prema dolje izvodi raščlanjivanje od početnog simbola do ulaznog niza, dok raščlanjivanje odozdo prema dolje izvodi raščlanjivanje od ulaznog niza do početnog simbola. Nadalje, još jedna važna razlika između raščlanjivanja odozgo prema dolje i odozdo prema gore je da raščlanjivanje odozgo prema dolje koristi derivaciju krajnje lijevo, a raščlanjivanje odozdo prema dolje koristi derivaciju krajnje desno.

Jezici visoke razine pomažu u pisanju računalnih programa. Lakše ih je razumjeti programer, ali ne i računalo. Stoga se program visoke razine pretvara u strojni kod. Zadatak prevoditelja je pretvoriti čovjeku čitljiv izvorni kod u strojno čitljiv strojni kod. Program prolazi kroz nekoliko koraka za pretvaranje u strojni kod. Cijeli ovaj proces naziva se Sustav za obradu jezika. Jedna od njih je kompilacija. Analizator sintakse ili parser nalazi se u kompajleru i obavlja zadatak parsiranja.

Što je Top Down Parsing?

Svaki programski jezik ima skup pravila za predstavljanje jezika. Analizator sintakse ili analiza uzima ulazni niz i provjerava je li u skladu s gramatičkim produkcijama. Drugim riječima, gramatika bi trebala proizvesti taj niz pomoću stabla raščlanjivanja.

U raščlanjivanju odozgo prema dolje, raščlanjivanje se događa od početnog simbola i doći će do zadanog ulaznog niza. Razmotrite sljedeća gramatička pravila proizvodnje. Ulazni niz (w) je cad.

S -> cAd

A -> ab /a

Stablo raščlanjivanja nakon izvođenja raščlanjivanja odozgo prema dolje je kako slijedi.

Razlika između raščlanjivanja odozgo prema dolje i odozdo prema gore
Razlika između raščlanjivanja odozgo prema dolje i odozdo prema gore
Razlika između raščlanjivanja odozgo prema dolje i odozdo prema gore
Razlika između raščlanjivanja odozgo prema dolje i odozdo prema gore

Slika 01: Raščlanjivanje stabla 1 s raščlanjivanjem odozgo prema dolje

S proizvodi c A d i A proizvodi b. Niz je cabd. To nije potreban niz. Dakle, potrebno je napraviti backtracking, odnosno koristiti druge alternative.

Slično, S proizvodi c A d. Primjena druge opcije za A dat će a. Sada daje traženi niz. Stoga parser prihvaća ovaj ulazni niz. Stablo raščlanjivanja nakon izvođenja raščlanjivanja odozgo prema dolje je kako slijedi.

Razlika između raščlanjivanja odozgo prema dolje i odozdo prema gore_Slika 2
Razlika između raščlanjivanja odozgo prema dolje i odozdo prema gore_Slika 2
Razlika između raščlanjivanja odozgo prema dolje i odozdo prema gore_Slika 2
Razlika između raščlanjivanja odozgo prema dolje i odozdo prema gore_Slika 2

Slika 02: Raščlanjivanje stabla 2 s raščlanjivanjem odozgo prema dolje

Kada je ulazni niz (w) abbcde

Razmotrite sljedeća gramatička pravila proizvodnje.

S -> aABe

A -> Abc/b

B -> d

U raščlanjivanju odozgo prema dolje, S -> aABe (zamjena A -> Abc)

S -> aAbcBe (zamjena A -> b)

S -> abbcBe (zamjena B ->d)

S -> abbcde

Supstitucija prvo počinje krajnjom lijevom varijablom, a zatim na sljedeću desnu poziciju i tako dalje. Stoga slijedi krajnje lijevu metodu derivacije. Nadalje, važno je odlučiti koje proizvodno pravilo odabrati kada postoji varijabla.

Što je raščlanjivanje odozdo prema gore?

U odozdo prema gore raščlanjivanje se događa na drugi način. Raščlanjivanje se događa od ulaznog niza do početnog simbola. Razmotrite sljedeća gramatička pravila proizvodnje i neka ulazni niz bude w ɛ cad

S -> cAd

A -> ab /a

Stablo raščlanjivanja nakon izvođenja raščlanjivanja odozdo prema gore je kako slijedi.

Ključna razlika između raščlanjivanja odozgo prema dolje i odozdo prema gore_Slika 03
Ključna razlika između raščlanjivanja odozgo prema dolje i odozdo prema gore_Slika 03
Ključna razlika između raščlanjivanja odozgo prema dolje i odozdo prema gore_Slika 03
Ključna razlika između raščlanjivanja odozgo prema dolje i odozdo prema gore_Slika 03

Slika 03: Stablo raščlanjivanja s raščlanjivanjem odozdo prema gore

Dani niz je cad. A generira A. C, A i d kombiniraju se da bi dobili početni simbol S.

Kada je ulazni niz(w) abbcde

Razmotrite sljedeća gramatička pravila proizvodnje.

S -> aABe

A -> Abc/b

B -> d

U raščlanjivanju odozdo prema gore, S -> aABe (zamjena B ->d)

S -> aAde (zamjena A -> Abc)

S -> aAbcde (Zamjena A -> b)

S -> abbcde

Supstitucija prvo počinje krajnjom desnom varijablom, a zatim se pomiče na sljedeću lijevu poziciju i tako dalje. Stoga slijedi lijevu metodu izvođenja.

Koja je razlika između raščlanjivanja odozgo prema dolje i odozdo prema gore?

Raščlanjivanje odozgo prema dolje je strategija raščlanjivanja koja prvo gleda na najvišu razinu stabla raščlanjivanja i radi niz stablo raščlanjivanja koristeći pravila formalne gramatike. Raščlanjivanje odozdo prema gore je strategija raščlanjivanja koja prvo gleda na najnižu razinu stabla raščlanjivanja i radi na stablu raščlanjivanja koristeći pravila formalne gramatike. Raščlanjivanje se odvija od početnog simbola do ulaznog niza, u raščlanjivanju odozgo prema dolje. S druge strane, raščlanjivanje se odvija od ulaznog niza do početnog simbola, u raščlanjivanju odozdo prema gore.

Nadalje, glavna odluka u raščlanjivanju odozdo prema dolje je odabrati koje proizvodno pravilo koristiti za konstruiranje niza, dok je glavna odluka u raščlanjivanju odozdo prema dolje odabrati kada koristiti proizvodno pravilo za smanjenje niza na dobiti početni simbol. Štoviše, raščlanjivanje odozgo prema dolje koristi krajnju lijevu derivaciju, a raščlanjivanje odozdo prema dolje koristi krajnju desnu derivaciju.

Razlika između raščlanjivanja odozgo prema dolje i odozdo prema gore u tabličnom obliku
Razlika između raščlanjivanja odozgo prema dolje i odozdo prema gore u tabličnom obliku
Razlika između raščlanjivanja odozgo prema dolje i odozdo prema gore u tabličnom obliku
Razlika između raščlanjivanja odozgo prema dolje i odozdo prema gore u tabličnom obliku

Sažetak – Raščlanjivanje odozgo prema dolje u odnosu na dno prema gore

Razlika između raščlanjivanja odozgo prema dolje i odozdo prema gore je u tome što raščlanjivanje odozgo prema dolje izvodi raščlanjivanje od simbola zurenja do ulaznog niza, dok raščlanjivanje odozdo prema dolje izvodi raščlanjivanje od ulaznog niza do početnog simbola.

Preporučeni: