Différence entre le bas et le bas de l'analyse

Différence entre le bas et le bas de l'analyse

Le différence clé Entre l'analyse du haut vers le bas et le bas est que le de haut en bas L'analyse effectue l'analyse du symbole de regard à la chaîne d'entrée tandis que l'analyse inférieure effectue l'analyse de la chaîne d'entrée au symbole de départ. En outre, une autre différence importante entre l'analyse en haut et en bas en haut est que l'analyse du haut vers le bas utilise la plus grande dérivation et l'analyse inférieure du bas utilise la dérivation la plus élevée.

Les langues de haut niveau aident à rédiger des programmes informatiques. Ils sont plus faciles à comprendre par le programmeur mais pas par l'ordinateur. Par conséquent, le programme de haut niveau se convertit en code machine. La tâche du compilateur est de convertir le code source lisible par l'homme en code machine lisible la machine. Un programme passe par plusieurs étapes à convertir en code machine. Tout ce processus est appelé système de traitement du langage. L'un d'eux est la compilation. L'analyseur de syntaxe ou l'analyseur est dans le compilateur, et il effectue la tâche d'analyse.

CONTENU

1. Aperçu et différence clé
2. Qu'est-ce que l'analyse du haut
3. Qu'est-ce que l'assistance inférieure
4. Comparaison côte à côte - en haut vers le bas en bas de l'analyse sous forme tabulaire
5. Résumé

Qu'est-ce que l'analyse du haut?

Chaque langage de programmation a un ensemble de règles pour représenter la langue. L'analyseur de syntaxe ou l'analyse prend la chaîne d'entrée et vérifie s'il est conformément aux productions de grammaire. En d'autres termes, la grammaire devrait produire cette chaîne à l'aide d'un arbre d'analyse.

En analyse en haut, l'analyse se produit à partir du symbole de départ et atteindra la chaîne d'entrée donnée. Considérez les règles de production de grammaire suivantes. La chaîne d'entrée (w) est CAD.

S -> CAD

A -> ab / a

L'arbre d'analyse après avoir effectué l'analyse en haut est le suivant.

Figure 01: Panne arbre 1 avec l'analyse du haut

S Produce C A D et A produit un B. La chaîne est le taxi. Ce n'est pas la chaîne requise. Il est donc nécessaire de faire du retour en arrière, qui est d'utiliser les autres alternatives.

De même, s produisent c a d.  L'application de l'autre option pour un. Maintenant, il donne la chaîne requise. Par conséquent, l'analyseur accepte cette chaîne d'entrée. L'arbre d'analyse après avoir effectué l'analyse en haut est le suivant.

Figure 02: Panne Tree 2 avec analyse du haut

Lorsque la chaîne d'entrée (w) est abbcde

Considérez les règles de production de grammaire suivantes.

S -> Aabe

A -> ABC / B

B -> D

En haut de l'analyse,

S -> AABE (substituant A -> ABC)

S -> AABCBE (substituant a -> b)

S -> ABBCBE (substituant B -> D)

S -> abbcde

La substitution commence par la plus variable gauche d'abord puis à la position droite suivante et ainsi de suite. Par conséquent, il suit une méthode de dérivation la plus gauche. En outre, il est important de décider de la règle de production à choisir lorsqu'il y a une variable.

Qu'est-ce que l'assistance inférieure?

Dans l'assistance de l'assistance, l'analyse se produit dans l'autre sens. L'analyse se produit de la chaîne d'entrée au symbole de départ. Considérez les règles de production de grammaire suivantes et laissez la chaîne d'entrée être w ɛ CAD

S -> CAD

A -> ab / a

L'arbre d'analyse après avoir effectué l'analyse de bas en haut est la suivante.

Figure 03: Pandre d'arbre avec de bas en forme d'analyse

La chaîne donnée est CAD. Le A est généré par un. Les C, A et D se combinent pour obtenir le symbole de départ S.

Lorsque la chaîne d'entrée (w) est abbcde

Considérez les règles de production de grammaire suivantes.

S -> Aabe

A -> ABC / B

B -> D

En bas de l'analyse,

S -> AABE (substituant B -> D)

S -> aade (substituant a -> abc)

S -> AABCDE (Sous-utilisation a -> b)

S -> abbcde

La substitution commence par la droite la plus variable d'abord, puis se déplace vers la position gauche suivante et ainsi de suite. Par conséquent, il suit une méthode de dérivation de MOT gauche.

Quelle est la différence entre l'analyse du haut en bas et du bas en haut?

L'analyse descendante est une stratégie d'analyse qui examine d'abord le plus haut niveau de l'arbre d'analyse et travaille dans l'arbre de l'analyse en utilisant les règles d'une grammaire formelle. L'analyse ascendante est une stratégie d'analyse qui examine d'abord le niveau le plus bas de l'arbre d'analyse et travaille dans l'arbre de l'analyse en utilisant les règles d'une grammaire formelle. L'analyse se produit du symbole de démarrage à la chaîne d'entrée, en analyse en haut.  D'un autre côté, l'analyse se produit de la chaîne d'entrée au symbole de départ, en bas de l'analyse.

En outre, la principale décision de l'analyse descendante est de sélectionner la règle de production à utiliser afin de construire la chaîne tandis que la décision principale de l'analyse inférieure est de sélectionner quand utiliser une règle de production pour réduire la chaîne pour obtenir le symbole de départ. De plus, les utilisations d'analyse descendantes.

Résumé - Top Down vs Bottom Up Paring

La différence entre l'analyse en haut en haut et en bas en haut est que l'analyse du haut vers le bas effectue l'analyse du symbole de regard à la chaîne d'entrée tandis que l'analyse inférieure effectue l'analyse de la chaîne d'entrée au symbole de départ.

Référence:

1.«Conférence de conception du compilateur 5 - Introduction aux analyseurs et ll (1) Analyse." Conférence de conception du compilateur 5 - Introduction aux analyseurs et ll (1) Analyse, Porte Conférences de Ravindrababu Ravula, 22 mai 2014. Disponible ici