Sie sind auf Seite 1von 5

Universidad de San Carlos de Guatemala Facultad de Ingeniera Escuela de Ciencias y Sistemas Organizacin de Lenguajes y Compiladores 2 Ing.

Bayron Lpez

Resumen
Primer parcial

Dennis Fernando Higueros Ruano Carn: 2010-21134 Guatemala 12 de agosto de 2013

1. REPASO
1.1. Conceptos
Compilador: Un compilador es un programa que traduce un programa escrito en un lenguaje (fuente) a otro lenguaje (objeto) generando un programa equivalente que la mquina ser capaz de interpretar Fases Compilador: Semntica. Sntesis. Patrn: Conjunto de reglas que definen una estructura de caracteres, tokens, frases, etc. Expresiones regulares. Autmatas finitos. Gramticas.

Sintaxis: Reglas que prescriben la estructura sintctica de un determinado lenguaje. Gramtica: Estructura que da una especificacin sintctica precisa y fcil de entender de un lenguaje de programacin. Recursividad: Por la izquierda: Una gramtica es recursiva por la izquierda si tiene un no terminal tal que existe una derivacin . Por la derecha: Una gramtica es recursiva por la derecha si tiene un no terminal tal que existe una derivacin .

Ambigedad: Una gramtica es ambigua cuando produce ms de un rbol de derivacin para una misma cadena de entrada. Factorizacin: Es una transformacin til cundo una gramtica posee una estructura similar al inicio de dos producciones distintas. El resultado es una estructura gramatical adecuada para un analizador predictivo. Anlisis de sintaxis: Descendente: a. Las gramticas analizadas no deben ser recursivas por la izquierda. b. Las gramticas analizadas no deben tener ambigedad. c. La gramtica debe estar factorizada. Ascendente: a. Las gramticas analizadas no deben ser ambiguas.

La verificacin de la ambigedad se realiza mediante la tabla reduce en la cual no debe haber conflicto.

1.2.

Ejemplos Gramticas

Ejemplo 1: Gramtica que reconoce cadenas compuestas de 0 y 1, que tengan el mismo nmero de 0 y 1.

Solucin

Ejemplo 2: Gramtica que reconoce nmeros separados por el signo +.

Ejemplo 3: Gramtica que reconoce sumas y multiplicaciones anidadas, con su rbol de derivacin para la entrada 5+4*2.

L L L num 5 + T num 4 * 2 T num

2. TRADUCCION DIRIGIDA POR LA SINTAXIS


Una definicin dirigida por la sintaxis es una generalizacin de una gramtica independiente del contexto en la que cada smbolo gramatical tiene un conjunto de atributos asociado, dividido en dos subconjuntos llamados atributos sintetizados y los heredados de dicho smbolo gramatical. En una definicin dirigida por la sintaxis, cada produccin gramatical tiene asociado un conjunto de reglas semnticas de la forma donde f es una funcin y b es un atributo sintetizado o heredado de A, siendo atributos pertenecientes a los smbolos gramaticales de la produccin. Gramtica con acciones semnticas asociadas.

Ejemplo 1: Definicin dirigida por la sintaxis para una calculadora con las operaciones +, * y agrupacin por ( y ) donde , siendo una produccin de la gramtica es un nodo definido por la regla semntica asociada. Produccin Regla semntica

2.1.

Atributos sintetizados

Los atributos sintetizados son muy utilizados en la prctica. Una definicin dirigida por la sintaxis que usa atributos sintetizados exclusivamente se denomina definicin con atributos sintetizados. Siempre se puede anotar un rbol de anlisis sintctico para una definicin con atributos sintetizados mediante la evaluacin de las reglas semnticas para los atributos en cada nodo de forma ascendente, de las hojas a la raz. Ejemplo: rbol de anlisis sintctico de la gramtica aumentada anterior con la cadena de entrada 3*4+4n, utilizando atributos sintetizados.

E.val = 19 E.val = 15 + T.val = 4 F.val = 4

T.val = 15

T.val = 3

F.val = 5

digito.valex = 4

F.val = 3

digito.valex = 5

digito.valex = 3

2.2.

Atributos heredados

Un atributo heredado es uno cuyo valor en un nodo de un rbol de anlisis sintctico est definido a partir de los atributos en el padreo y/o de los hermanos de dicho nodo. Los atributos heredados sirven para expresar la dependencia de una construccin de un lenguaje de programacin en el contexto en el que aparece. Es posible reescribir una definicin dirigida por la sintaxis para que solo se utilicen atributos sintetizados, a veces es ms natural utilizar definiciones dirigidas por la sintaxis con atributos heredados.

Das könnte Ihnen auch gefallen