Diferència entre l'anàlisi de d alt a baix i de baix a d alt

Taula de continguts:

Diferència entre l'anàlisi de d alt a baix i de baix a d alt
Diferència entre l'anàlisi de d alt a baix i de baix a d alt

Vídeo: Diferència entre l'anàlisi de d alt a baix i de baix a d alt

Vídeo: Diferència entre l'anàlisi de d alt a baix i de baix a d alt
Vídeo: 8 инструментов в Excel, которыми каждый должен уметь пользоваться 2024, De novembre
Anonim

La diferència clau entre l'anàlisi de d alt a baix i de baix a d alt és que l'anàlisi de d alt a baix realitza l'anàlisi des del símbol de fixació a la cadena d'entrada, mentre que l'anàlisi de baix avall realitza l'anàlisi de la cadena d'entrada al símbol inicial. A més, una altra diferència important entre l'anàlisi de d alt a baix i de baix a d alt és que l'anàlisi de d alt a baix utilitza la derivació més a l'esquerra i l'anàlisi de baix a baix utilitza la derivació més a la dreta.

Els llenguatges d' alt nivell ajuden a escriure programes d'ordinador. Són més fàcils d'entendre pel programador però no per l'ordinador. Per tant, el programa d' alt nivell es converteix en codi màquina. La tasca del compilador és convertir el codi font llegible per l'home en codi màquina llegible per màquina. Un programa passa per diversos passos per convertir-lo en codi màquina. Tot aquest procés s'anomena Sistema de processament del llenguatge. Un d'ells és la recopilació. L'analitzador de sintaxi o l'analitzador es troba al compilador i realitza la tasca d'anàlisi.

Què és l'anàlisi de d alt a baix?

Cada llenguatge de programació té un conjunt de regles per representar-lo. L'analitzador de sintaxi o l'anàlisi pren la cadena d'entrada i comprova si està d'acord amb les produccions gramaticals. En altres paraules, la gramàtica hauria de produir aquesta cadena utilitzant un arbre d'anàlisi.

A l'anàlisi de d alt a baix, l'anàlisi es produeix des del símbol inicial i arribarà a la cadena d'entrada donada. Considereu les següents regles de producció gramatical. La cadena d'entrada (w) és cad.

S -> caAd

A -> ab /a

L'arbre d'anàlisi després de realitzar l'anàlisi de d alt a baix és el següent.

Diferència entre l'anàlisi de d alt a baix i de baix a d alt
Diferència entre l'anàlisi de d alt a baix i de baix a d alt
Diferència entre l'anàlisi de d alt a baix i de baix a d alt
Diferència entre l'anàlisi de d alt a baix i de baix a d alt

Figura 01: anàlisi de l'arbre 1 amb anàlisi de d alt a baix

S produeix c A d i A produeix a b. La corda és cabd. No és la cadena necessària. Per tant, cal fer retrocés, que és utilitzar les altres alternatives.

De la mateixa manera, S produeix c A d. L'aplicació de l' altra opció per a A donarà a. Ara dóna la cadena requerida. Per tant, l'analitzador accepta aquesta cadena d'entrada. L'arbre d'anàlisi després de realitzar l'anàlisi de d alt a baix és el següent.

Diferència entre l'anàlisi de d alt a baix i de baix a d alt_Fig 2
Diferència entre l'anàlisi de d alt a baix i de baix a d alt_Fig 2
Diferència entre l'anàlisi de d alt a baix i de baix a d alt_Fig 2
Diferència entre l'anàlisi de d alt a baix i de baix a d alt_Fig 2

Figura 02: anàlisi de l'arbre 2 amb anàlisi de d alt a baix

Quan la cadena d'entrada (w) és abbcde

Considereu les regles de producció gramaticals següents.

S -> aABe

A -> Abc/b

B -> d

A l'anàlisi de d alt a baix, S -> aABe (substituint A -> Abc)

S -> aAbcBe (substituint A -> b)

S -> abbcBe (substituint B ->d)

S -> abbcde

La substitució comença amb la variable més esquerra primer i després a la següent posició dreta i així successivament. Per tant, segueix un mètode de derivació més a l'esquerra. A més, és important decidir quina regla de producció triar quan hi ha una variable.

Què és l'anàlisi de baix a d alt?

A l'anàlisi de baix a d alt es fa d'una altra manera. L'anàlisi es fa des de la cadena d'entrada fins al símbol inicial. Considereu les regles de producció gramaticals següents i deixeu que la cadena d'entrada sigui w ɛ cad

S -> caAd

A -> ab /a

L'arbre d'anàlisi després de realitzar l'anàlisi de baix a d alt és el següent.

Diferència clau entre l'anàlisi de d alt a baix i de baix a d alt_Fig 03
Diferència clau entre l'anàlisi de d alt a baix i de baix a d alt_Fig 03
Diferència clau entre l'anàlisi de d alt a baix i de baix a d alt_Fig 03
Diferència clau entre l'anàlisi de d alt a baix i de baix a d alt_Fig 03

Figura 03: Arbre d'anàlisi amb anàlisi de baix a d alt

La cadena donada és cad. La a la genera A. La c, A i d es combinen per obtenir el símbol inicial S.

Quan la cadena d'entrada (w) és abbcde

Considereu les regles de producció gramaticals següents.

S -> aABe

A -> Abc/b

B -> d

A l'anàlisi de baix a d alt, S -> aABe (substituint B ->d)

S -> aAde (substituint A -> Abc)

S -> aAbcde (substituint A -> b)

S -> abbcde

La substitució comença amb la variable més dreta primer i després es mou a la següent posició esquerra i així successivament. Per tant, segueix un mètode de derivació del mot esquerre.

Quina diferència hi ha entre l'anàlisi de d alt a baix i de baix a d alt?

L'anàlisi de d alt a baix és una estratègia d'anàlisi que primer mira el nivell més alt de l'arbre d'anàlisi i treballa per l'arbre d'anàlisi utilitzant les regles d'una gramàtica formal. L'anàlisi de baix a d alt és una estratègia d'anàlisi que primer mira el nivell més baix de l'arbre d'anàlisi i fa servir l'arbre d'anàlisi mitjançant les regles d'una gramàtica formal. L'anàlisi es produeix des del símbol inicial fins a la cadena d'entrada, en l'anàlisi de d alt a baix. D' altra banda, l'anàlisi es produeix des de la cadena d'entrada fins al símbol inicial, en l'anàlisi de baix a d alt.

A més, la decisió principal en l'anàlisi de d alt a baix és seleccionar quina regla de producció utilitzar per construir la cadena, mentre que la decisió principal en l'anàlisi de baix a baix és seleccionar quan utilitzar una regla de producció per reduir la cadena a obtenir el símbol inicial. A més, l'anàlisi de d alt a baix utilitza la derivació més a l'esquerra i l'anàlisi de baix a baix utilitza la derivació més a la dreta.

Diferència entre l'anàlisi de d alt a baix i de baix a d alt en forma tabular
Diferència entre l'anàlisi de d alt a baix i de baix a d alt en forma tabular
Diferència entre l'anàlisi de d alt a baix i de baix a d alt en forma tabular
Diferència entre l'anàlisi de d alt a baix i de baix a d alt en forma tabular

Resum: Anàlisi de d alt a baix i de baix a d alt

La diferència entre l'anàlisi de d alt a baix i de baix a d alt és que l'anàlisi de d alt a baix fa l'anàlisi des del símbol de fixació a la cadena d'entrada, mentre que l'anàlisi de baix avall fa l'anàlisi de la cadena d'entrada al símbol inicial.

Recomanat: