Diferența dintre analizarea de sus în jos și de jos în sus

Cuprins:

Diferența dintre analizarea de sus în jos și de jos în sus
Diferența dintre analizarea de sus în jos și de jos în sus

Video: Diferența dintre analizarea de sus în jos și de jos în sus

Video: Diferența dintre analizarea de sus în jos și de jos în sus
Video: CARE ESTE DIFERENȚA DINTRE IUBIRE DE SINE ȘI EGOISM? EFECTELE SECUNDARE ALE BINELUI FĂCUT 2024, Iulie
Anonim

Diferența cheie dintre analiza de sus în jos și de jos în sus este că analizarea de sus în jos realizează analizarea de la simbolul de observare la șirul de intrare, în timp ce analiza de jos în jos realizează analiza de la șirul de intrare la simbolul de început. În plus, o altă diferență importantă între analizarea de sus în jos și de jos în sus este aceea că analizarea de sus în jos utilizează cea mai stângă derivație, iar analizarea de jos în jos utilizează cea mai dreaptă derivație.

Limbile de nivel în alt ajută la scrierea programelor de calculator. Ele sunt mai ușor de înțeles de către programator, dar nu de către computer. Prin urmare, programul de nivel în alt se convertește în cod de mașină. Sarcina compilatorului este de a converti codul sursă care poate fi citit de om în cod de mașină care poate fi citit de mașină. Un program parcurge mai mulți pași pentru a se converti în codul mașinii. Întregul proces se numește Sistem de procesare a limbajului. Una dintre ele este compilația. Analizatorul de sintaxă sau analizatorul se află în compilator și efectuează sarcina de analizare.

Ce este analiza de sus în jos?

Fiecare limbaj de programare are un set de reguli pentru a reprezenta limbajul. Analizatorul de sintaxă sau analizatorul preia șirul de intrare și verifică dacă este în conformitate cu producțiile gramaticale. Cu alte cuvinte, gramatica ar trebui să producă acel șir folosind un arbore de analiză.

În analizarea de sus în jos, analiza are loc de la simbolul de pornire și va ajunge la șirul de intrare dat. Luați în considerare următoarele reguli de producție gramaticală. Șirul de intrare (w) este cad.

S -> caAd

A -> ab /a

Arborele de analizare după efectuarea unei analize de sus în jos este următorul.

Diferența dintre analizarea de sus în jos și de jos în sus
Diferența dintre analizarea de sus în jos și de jos în sus
Diferența dintre analizarea de sus în jos și de jos în sus
Diferența dintre analizarea de sus în jos și de jos în sus

Figura 01: Analiza arborelui 1 cu analiza de sus în jos

S produce c A d și A produce a b. Coarda este cabd. Nu este șirul necesar. Deci, este necesar să faceți backtracking, adică să folosiți celel alte alternative.

În mod similar, S produce c A d. Aplicarea celeil alte opțiuni pentru A va da a. Acum dă șirul necesar. Prin urmare, analizatorul acceptă acest șir de intrare. Arborele de analiză după efectuarea unei analize de sus în jos este următorul.

Diferența dintre analizarea de sus în jos și de jos în sus_Fig 2
Diferența dintre analizarea de sus în jos și de jos în sus_Fig 2
Diferența dintre analizarea de sus în jos și de jos în sus_Fig 2
Diferența dintre analizarea de sus în jos și de jos în sus_Fig 2

Figura 02: Analiza arborelui 2 cu analiza de sus în jos

Când șirul de intrare (w) este abbcde

Luați în considerare următoarele reguli de producție gramaticală.

S -> aABe

A -> Abc/b

B -> d

În analizarea de sus în jos, S -> aABe (Înlocuind A -> Abc)

S -> aAbcBe (Înlocuind A -> b)

S -> abbcBe (Înlocuind B ->d)

S -> abbcde

Înlocuirea începe cu cea mai variabilă din stânga mai întâi și apoi cu următoarea poziție din dreapta și așa mai departe. Prin urmare, urmează o metodă de derivare din partea stângă. În plus, este important să decideți ce regulă de producție să alegeți atunci când există o variabilă.

Ce este analiza de jos în sus?

În analiza de jos în sus se întâmplă în alt mod. Analiza are loc de la șirul de intrare la simbolul de pornire. Luați în considerare următoarele reguli de producție gramaticală și lăsați șirul de intrare să fie w ɛ cad

S -> caAd

A -> ab /a

Arborele de analizare după efectuarea unei analize de jos în sus este următorul.

Diferența cheie între analiza de sus în jos și de jos în sus_Fig 03
Diferența cheie între analiza de sus în jos și de jos în sus_Fig 03
Diferența cheie între analiza de sus în jos și de jos în sus_Fig 03
Diferența cheie între analiza de sus în jos și de jos în sus_Fig 03

Figura 03: Analiza arborelui cu analiza de jos în sus

Șirul dat este cad. A este generat de A. C, A și d se combină pentru a obține simbolul de pornire S.

Când șirul de intrare (w) este abbcde

Luați în considerare următoarele reguli de producție gramaticală.

S -> aABe

A -> Abc/b

B -> d

În analizarea de jos în sus, S -> aABe (Înlocuind B ->d)

S -> aAde (Înlocuind A -> Abc)

S -> aAbcde (Înlocuind A -> b)

S -> abbcde

Înlocuirea începe mai întâi cu cea mai variabilă din dreapta și apoi se mută la următoarea poziție din stânga și așa mai departe. Prin urmare, urmează o metodă de derivare a motului stâng.

Care este diferența dintre analizarea de sus în jos și de jos în sus?

Parsarea de sus în jos este o strategie de analizare care se uită mai întâi la cel mai în alt nivel al arborelui de analiză și lucrează în jos în arborele de analiză folosind regulile unei gramatici formale. Analiza de jos în sus este o strategie de analizare care se uită mai întâi la cel mai de jos nivel al arborelui de analiză și lucrează în sus arborele de analiză folosind regulile unei gramatici formale. Analiza are loc de la simbolul de pornire la șirul de intrare, în analiza de sus în jos. Pe de altă parte, analizarea are loc de la șirul de intrare la simbolul de pornire, în analizarea de jos în sus.

În plus, decizia principală în analizarea de sus în jos este să selectezi ce regulă de producție să folosești pentru a construi șirul, în timp ce decizia principală în analizarea de jos în jos este să selectezi când să folosești o regulă de producție pentru a reduce șirul la obține simbolul de pornire. Mai mult, analizarea de sus în jos folosește derivarea cea mai din stânga, iar analiza de jos în jos folosește derivarea cea mai dreaptă.

Diferența dintre analizarea de sus în jos și de jos în sus în formă tabelară
Diferența dintre analizarea de sus în jos și de jos în sus în formă tabelară
Diferența dintre analizarea de sus în jos și de jos în sus în formă tabelară
Diferența dintre analizarea de sus în jos și de jos în sus în formă tabelară

Rezumat – Analiza de sus în jos vs de jos în sus

Diferența dintre analizarea de sus în jos și de jos în sus este că analizarea de sus în jos realizează analizarea de la simbolul de observare la șirul de intrare, în timp ce analiza de jos în jos realizează analizarea de la șirul de intrare la simbolul de început.

Recomandat: