Please enable JavaScript.
Coggle requires JavaScript to display documents.
Analizador sintáctico que interviene en una pila semántica - Coggle Diagram
Analizador sintáctico que interviene en una pila semántica
Analizador
sintáctico
descendente
Concepto
Es un analizador puede empezar con el símbolo inicial e intentar transformarlo en la entrada
Características
Intenta encontrar entre las producciones de la gramática la derivación por la izquierda del símbolo inicial para una cadena de entrada.
Procesa la entrada de izquierda a derecha.
Escoge reglas gramaticales.
Para trabajar el análisis sintáctico descendente se debe realizar primeramente algunas operaciones para que la gramática sea LL1 las cuales son:
ELIMINAR AMBIGUEDAD
ELIMINAR RECURSIVIDAD
POR LA IZQUIERDA
Funcionamiento
Los terminales se examinan en el orden en que aparecen en la cadena de tokens
Escoger reglas gramaticales.
Obtener el árbol de análisis sintáctico o error
Clasificación
Analizador sintáctico descendente con retroceso.
Analizador sintáctico descendente con recursión.
Analizador sintáctico descendente LL(1)
Analizador sintáctico ascendente
Concepto
Un Analizador Sintáctico (A. St.) Ascendente construye el árbol desde las hojas hacia la raíz.
Objetivo
El objetivo de un análisis ascendente consiste en construir el árbol sintáctico desde abajo hacia arriba, esto es, desde los tokens hacia el axioma inicial
Operaciones
ACEPTAR: se acepta la cadena: β ≡ EOF y α ≡ S (axioma inicial).
RECHAZAR: la cadena de entrada no es valida.
REDUCIR: consiste en aplicar una regla de produccion hacia atras a algunos elementos situados en el extremo derecho de α.
DESPLAZAR: consiste unicamente en quitar el terminal mas a la izquierda de β y ponerlo a la derecha de α.
Clasificación
Analizador sintáctico ascendente con retroceso.
Analizador sintáctico ascendente LR(1)
Diferencias
En el análisis sintáctico descendente: se construye el árbol sintáctico arriba hacia abajo y se utiliza más reglas.
En el análisis sintáctico ascendente: se construye el árbol sintáctico de abajo hacia arriba, lo cual disminuye el número de reglas mal aplicadas con respecto al caso descendente.