Diferencia entre el análisis de arriba hacia abajo y de abajo hacia arriba

Diferencia entre el análisis de arriba hacia abajo y de abajo hacia arriba

El diferencia clave Entre el análisis de arriba hacia abajo y de abajo hacia arriba es que el De arriba hacia abajo El análisis realiza el análisis desde el símbolo de mirada hasta la cadena de entrada mientras el análisis de abajo hacia abajo realiza el análisis de la cadena de entrada al símbolo inicial. Además, otra diferencia importante entre el análisis de arriba hacia abajo e abajo es que el análisis de arriba hacia abajo utiliza la mayor derivación de la izquierda y el análisis de abajo hacia abajo usa la mayoría de la derivación a la derecha.

Los idiomas de alto nivel ayudan a escribir programas de computadora. El programador son más fáciles de entender, pero no por la computadora. Por lo tanto, el programa de alto nivel se convierte en código de máquina. La tarea del compilador es convertir el código fuente legible en humanos en código de máquina legible por máquina. Un programa pasa por varios pasos para convertir al código de la máquina. Todo este proceso se llama sistema de procesamiento del lenguaje. Uno de ellos es la compilación. El analizador de sintaxis o el analizador está en el compilador, y realiza la tarea de análisis.

CONTENIDO

1. Descripción general y diferencia de claves
2. ¿Qué es el análisis de arriba hacia abajo?
3. ¿Qué es el análisis de abajo hacia arriba?
4. Comparación de lado a lado: superación de arriba hacia abajo en forma tabular
5. Resumen

¿Qué es el análisis de arriba hacia abajo??

Cada lenguaje de programación tiene un conjunto de reglas para representar el lenguaje. El analizador de sintaxis o el análisis toma la cadena de entrada y verifica si está de acuerdo con las producciones de gramática. En otras palabras, la gramática debe producir esa cuerda usando un árbol de análisis.

En el análisis de arriba hacia abajo, el análisis ocurre desde el símbolo inicial y alcanzará la cadena de entrada dada. Considere las siguientes reglas de producción de gramática. La cadena de entrada (w) es CAD.

S -> CAD

A -> ab /a

El árbol de análisis después de realizar el análisis de arriba hacia abajo es el siguiente.

Figura 01: Árbol de análisis 1 con análisis de arriba hacia abajo

S produce c a d y a produce a b. La cuerda es CABD. No es la cadena requerida. Por lo tanto, es necesario hacer retroceso, que es usar las otras alternativas.

Del mismo modo, S produce c a d.  Aplicar la otra opción para un dará un. Ahora da la cadena requerida. Por lo tanto, el analizador acepta esta cadena de entrada. El árbol de análisis después de realizar el análisis de arriba hacia abajo es el siguiente.

Figura 02: Árbol de análisis 2 con análisis de arriba hacia abajo

Cuando la cadena de entrada (w) es abbcde

Considere las siguientes reglas de producción de gramática.

S -> aabe

A -> ABC/B

B -> D

En el análisis de arriba hacia abajo,

S -> aabe (sustituyendo un -> ABC)

S -> aabcbe (sustituyendo a -> b)

S -> Abbcbe (sustituyendo b -> d)

S -> Abbcde

La sustitución comienza con la más variable a la izquierda primero y luego a la siguiente posición derecha y así sucesivamente. Por lo tanto, sigue un método de derivación más izquierda. Además, es importante decidir qué regla de producción elegir cuando hay una variable.

¿Qué es el análisis de abajo hacia arriba??

En abajo hacia arriba, el análisis ocurre de la otra manera. El análisis ocurre desde la cadena de entrada al símbolo inicial. Considere las siguientes reglas de producción de gramática y deje que la cadena de entrada sea w ɛ CAD

S -> CAD

A -> ab /a

El árbol de análisis después de realizar el análisis de abajo hacia arriba es el siguiente.

Figura 03: Analizado con análisis de abajo hacia arriba

La cadena dada es CAD. El a es generado por un. El C, A y D se combinan para obtener el símbolo inicial S.

Cuando la cadena de entrada (w) es abbcde

Considere las siguientes reglas de producción de gramática.

S -> aabe

A -> ABC/B

B -> D

En el análisis de abajo hacia arriba,

S -> aabe (sustituyendo b -> d)

S -> Aade (sustituyendo a -> ABC)

S -> aabcde (subyacente a -> b)

S -> Abbcde

La sustitución comienza con la mayor variable correcta primero y luego se mueve a la siguiente posición izquierda y así sucesivamente. Por lo tanto, sigue un método de derivación de MOT a la izquierda.

¿Cuál es la diferencia entre el análisis de arriba hacia abajo y de abajo hacia arriba??

El análisis de arriba hacia abajo es una estrategia de análisis que primero analiza el nivel más alto del árbol de análisis y trabaja en el árbol de análisis utilizando las reglas de una gramática formal. El análisis de abajo hacia arriba es una estrategia de análisis que primero analiza el nivel más bajo del árbol de análisis y trabaja en el árbol de análisis utilizando las reglas de una gramática formal. El análisis ocurre desde el símbolo inicial hasta la cadena de entrada, en el análisis de arriba hacia abajo.  Por otro lado, el análisis se produce desde la cadena de entrada al símbolo inicial, en el análisis de abajo hacia arriba.

Además, la decisión principal en el análisis de arriba hacia abajo es seleccionar qué regla de producción usar para construir la cadena, mientras que la decisión principal en el análisis de abajo hacia abajo es seleccionar cuándo usar una regla de producción para reducir la cadena para obtener el símbolo inicial. Además, el análisis de arriba hacia abajo utiliza la mayor derivación de la izquierda y el análisis de abajo hacia abajo usa la mayoría de la derivación.

Resumen -Top -Down vs Buy arriba Pandillero

La diferencia entre el análisis de arriba hacia abajo e abajo hacia arriba es que el análisis de arriba hacia abajo realiza el análisis desde el símbolo de mirada hasta la cadena de entrada, mientras que el análisis de abajo hacia abajo realiza el análisis de la cadena de entrada al símbolo inicial.

Referencia:

1."Conferencia de diseño del compilador 5 - Introducción a los analizadores y LL (1) analizador." Conferencia de diseño del compilador 5 - Introducción a analizadores y ll (1) analizador, Conferencias de la puerta de Ravindrababu Ravula, 22 de mayo de 2014. Disponible aquí