Clasificación de analizadores de arriba hacia abajo – Part 1

El análisis se clasifica en dos categorías, es decir, análisis de arriba hacia abajo y análisis de abajo hacia arriba. El análisis de arriba hacia abajo se basa en la derivación más a la izquierda, mientras que el análisis de abajo hacia arriba depende de la derivación más a la derecha inversa. 

El proceso de construcción del árbol de análisis que comienza desde la raíz y desciende hasta la hoja es análisis de arriba hacia abajo. 

  1. Los analizadores de arriba hacia abajo se construyen a partir de la gramática, que está libre de ambigüedad y recursividad por la izquierda.
  2. Los analizadores de arriba hacia abajo utilizan la derivación más a la izquierda para construir un árbol de análisis.
  3. No permite gramática con prefijos comunes.

Clasificación del análisis de arriba hacia abajo: 

1. Con retroceso: técnica de fuerza bruta

2. Sin retroceso: 

  1. Análisis de descenso recursivo
  2. Análisis predictivo o Análisis no recursivo o Análisis LL(1) o Análisis de controlador de tabla

Análisis de descenso recursivo – 

  1. Siempre que un No-terminal gaste la primera vez, vaya con la primera alternativa y compárela con la String I/P dada
  2. Si no se produce la coincidencia, vaya con la segunda alternativa y compare con la string I/P dada.
  3. Si no se vuelve a encontrar la coincidencia, vaya con la alternativa y así sucesivamente.
  4. Además, si se produce una coincidencia para al menos una alternativa, la string I/P se analiza correctamente.

LL(1) o controlador de tabla o analizador predictivo – 

  1. En LL1, la primera L significa De izquierda a derecha y la segunda L significa Derivación más a la izquierda. 1 representa una cantidad de tokens Look Ahead utilizados por el analizador al analizar una oración.
  2. El análisis sintáctico LL(1) se construye a partir de la gramática que está libre de recursividad por la izquierda, prefijo común y ambigüedad.
  3. El analizador LL(1) depende de 1 símbolo anticipado para predecir la producción para expandir el árbol de análisis.
  4. Este analizador no es recursivo.

Publicación traducida automáticamente

Artículo escrito por sanjaymonu y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *