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.
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.
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.
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.
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.