Está en la página 1de 6

COMPILADORES

YUSTIN CHAVERRA
ANÁLISIS SINTÁCTICO

• Es la segunda fase de la compilación en la que se obtiene una cadena de tokens del


analizador léxico y se genera un árbol sintáctico, siendo el objetivo de esta fase la de
comprobar que la secuencia de componentes léxicos que le entrega el analizador léxico
cumple las reglas de la gramática que se han definido previamente.
• Función Principal: La función principal del analizador sintáctico es generar un árbol de
análisis sintáctico a partir de los componentes léxicos obtenidos en la etapa anterior. Su
función es tomar el programa fuente en forma de tokens, que recibe del analizador léxico
y determinar la estructura de las sentencias del programa.
TIPOS DE ANALIZADORES SINTÁCTICOS

• Análisis sintáctico descendente: Es en el que se construye el árbol sintáctico a partir del


símbolo inicial de la gramática, hasta llegar a los distintos tokens, que constituyen la
sentencia a analizar. Es decir, se parte del símbolo inicial de la gramática y se van
aplicando las distintas producciones hasta llegar a formar la sentencia.
• Análisis sintáctico ascendente:  Es en el que se construye el árbol sintáctico a partir de
las hojas, paso a paso hasta llegar a la raíz. Es decir parten de los distintos tokens de la
sentencia a analizar, y por medio de reducciones llegan al símbolo inicial de la
gramática. 
TRADUCCIÓN DIRIGIDA POR SINTAXIS

• una definición dirigida por sintaxis como una gramática de contexto libre en la que cada
símbolo gramatical "terminales y no terminales; tiene un conjunto de atributos asociados,
dividido en dos subconjuntos llamados atributos sintetizados y atributos heredados
de dicho símbolo gramatical. Si se considera que cada nodo de un árbol sintáctico tiene
asociado un registro con campos para guardar información, entonces un atributo
corresponde al nombre de un campo.
• Atributos: Un atributo puede representar cualquier cosa, un nombre, una cadena, un
número, un tipo, una posición de memoria, su valor en un nodo se define mediante una
regla semántica asociada a la producción usada en dicho nodo.
TRADUCCIÓN DIRIGIDA POR SINTAXIS

• Atributos Sintetizados: Se puede decir que un atributo es sintetizado si su valor en un


nodo del árbol de análisis sintáctico se determina a partir de los valores de atributos de los
hijos de ese nodo (como decir de abajo hacia arriba). Se pueden calcular mediante un solo
recorrido ascendente del árbol de análisis sintáctico, lo que es muy deseable.
• Atributos Heredados: Un atributo heredado es uno cuyo valor en un nodo de un árbol
de análisis sintáctico está definido a partir de los atributos en el padre y los hermanos de
dicho nodo. Éstos sirven para expresar la dependencia de una construcción de un lenguaje
de programación en el contexto en el que aparece.
REGLAS SEMÁNTICAS

•  Las reglas semánticas establecen las dependencias entre los atributos que serán
representadas mediante un grafo.
• El grafo de dependencias proporciona el orden de evaluación de las reglas semánticas.
•  La evaluación de las reglas semánticas define los valores de los atributos de los nodos
del árbol.
•  Una gramática con atributos es una definición dirigida por la sintaxis en la que las
funciones de las reglas semánticas no pueden tener efectos colaterales

También podría gustarte