Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Ensayo JJ
Ensayo JJ
NOMBRE:
BRAYAN JOEL ROSAS TELLO
CARRERA:
INGENIERÍA EN SISTEMAS COMPUTACIONALES.
ASIGNATURA:
LENGUAJES Y AUTÓMATAS II.
TEMA:
ENSAYO. ANÁLISIS SINTÁCTICO DESCENDENTE Y ANÁLISIS SINTÁCTICO
ASCENDENTE.
Índice
Introducción ................................................................................................................................................... 3
Capítulo 4. Análisis Sintáctico Descendente ............................................................................................... 4
4.1 Análisis sintáctico descendente mediante método descendente recursivo ...................................... 4
4.2 Análisis Sintáctico LL(1)..................................................................................................................... 4
4.3 Conjuntos Primero y Siguiente .......................................................................................................... 5
5.1 Perspectiva General Del Análisis Sintáctico Ascendente ................................................................. 5
5.2 Autómatas Finitos De Elementos LR(0) y Análisis Sintáctico LR(0).............................................. 6
5.2.1 Elementos LR(0). .......................................................................................................................... 6
5.3 Análisis sintáctico SLR(1) ................................................................................................................... 6
Conclusión ...................................................................................................................................................... 8
Bibliografía .................................................................................................................................................... 8
Análisis sintáctico descendente y análisis sintáctico ascendente
Introducción
3
Análisis sintáctico descendente y análisis sintáctico ascendente
Un algoritmo de análisis sintáctico descendente analiza una cadena de tokens de entrada mediante
la búsqueda de los pasos en una derivación por la izquierda. Un algoritmo así se denomina
descendente debido a que el recorrido implicado del árbol de análisis gramatical es un recorrido de
preorden y, de este modo, se presenta desde la raíz hacia las hojas.
Un analizador sintáctico predictivo intenta predecir la siguiente construcción en la cadena
de entrada utilizando uno o más tokens de búsqueda por adelantado, mientras que un analizador
sintáctico inverso intentará las diferentes posibilidades para un análisis sintáctico de la entrada,
respaldando una cantidad arbitraria en la entrada si una posibilidad falla.
Las dos clases de algoritmos de análisis sintáctico descendente que se verán se les conoce
como análisis sintáctico descendente recursivo y análisis sintáctico LL(1).
La idea del análisis sintáctico descendente recursivo es muy simple. Observamos la regla
gramatical para un no terminal A como una definición para un procedimiento que reconocer una
A. El lado derecho de la regla gramatical para A especifica la estructura del código par este
procedimiento: la secuencia de terminales y no terminales en una selección corresponde a
concordancias de la entrada y llamadas a otros procedimientos, mientras que las selecciones
corresponden a las alternativas (sentencias case o if) dentro del código.
4
Análisis sintáctico descendente y análisis sintáctico ascendente
Un analizador sintáctico ascendente utiliza una pila explícita para realizar un análisis
sintáctico, de manera semejante a como lo hace un analizador sintáctico descendente no recursivo.
La pila de análisis sintáctico contendrá tanto tokens como no terminales, y también alguna
información de estado adicional que analizaremos posteriormente. La pila está vacía al principio
de un análisis sintáctico ascendente y al final de un análisis sintáctico exitoso contendrá el símbolo
inicial.
Un analizador sintáctico ascendente tiene dos posibles acciones (aparte de "aceptar"):
1. Desplazar o transferir un terminal de la parte frontal de la entrada hasta la parte superior de
la pila.
2. Reducir una cadena α en la parte superior de la pila a un no terminal A, dada la selección
BNF A α.
Por esta razón en ocasiones un analizador sintáctico ascendente se conoce como analizador
sintáctico de reducci6n por desplazamiento ("shift-reduce").
5
Análisis sintáctico descendente y análisis sintáctico ascendente
6
Análisis sintáctico descendente y análisis sintáctico ascendente
7
Análisis sintáctico descendente y análisis sintáctico ascendente
Conclusión
A lo largo del ensayo se vieron diferentes temas y estos dan a conocer el entendimiento del
cómo funcionan los compiladores en su fase de análisis sintáctico, y los conceptos que debemos
dominar para poder realizarlos.
Es necesario como futuros ingenieros en sistemas computacionales el entender el
procesamiento de la información de estos ya que en la actualidad son uno de los temas que más
destacan los que están relacionados con las ciencias de la computación
Bibliografía