Tecnológico Nacional de México.
Instituto Tecnológico de Acapulco.
Asignatura:
Lenguajes y Autómatas ll
Producto:
Exposición:
1.5 Esquema de traducción.
1.6 Generación de la tabla de símbolo y tabla de direcciones
Carrera:
Ingeniería en Sistemas Computacionales.
Alumnos
Isidoro Bello Ernesto
Hernández Raymundo Bryan Emanuel
Angelito Salinas Misael
Silverio del Valle Gerardo
Profesor:
Silvestre Bedolla Solano
Salón Virtual: 05:00 a 06:00 PM
1.5 ESQUEMA DE
TRADUCCIÓN
EQUIPO 5
QUE ES UN ESQUEMA DE TRADUCCIÓN?
• Un esquema de traducción es una gramática independiente del contexto en la cual se han asociado
atributos con los símbolos de la gramaticales y se insertan acciones semánticas encerradas entre llaves {
}.
• Un atributo queda caracterizado por un identificador puede ser un nombre o un tipo de clase
• En el diseño de un esquema de traducción se deben respetar algunas limitaciones para asegurar de que el valor de
un atributo sete disponible cuando una acción se refiera a el.
• ejemplo: Árbol de análisis sintactico para 9-5+2 que muestra las acciones
T
R
R
{print(‘9’)} - T {Print(‘-’)}
9
+ T {Print(‘+’)}
{print(‘5’)}
5 SUMATORIA
{print(‘2’)}
2
ATRIBUTOS
• Un atributo heredado para un símbolo en el lado derecho de una producción se debe calcular en una
acción antes que dicho símbolo.
• Una acción no debe referirse a un atributo sintetizado de un símbolo que este a la derecha de la acción.
• Un atributo sintetizado para el no terminal de la izquierda solo se puede calcular después que se hayan
calculado todos los atributos a los que hace referencia la acción de calcular dichos atributos se puede
colocar al final del lado derecho de la producción.
1.6 GENERACIÓN DE LA TABLA DE SÍMBOLO
Y TABLA DE DIRECCIONES
TABLA DE SÍMBOLOS.
• La tabla de símbolos tiene una estructura, Cuando hablamos de símbolos en un programa nos referimos
a las constantes , las variables, los subprogramas y los parámetros de los subprogramas.
• La tabla de símbolos mantiene generalmente una gestión de ámbitos (dependiendo de si el lenguaje
admite ámbitos anidados).
• En cuanto ala información que hay que guardar en la tabla de símbolos. No es exactamente la misma ya
que el contenido de los símbolos en un programa concreto hay que guardar en algún lugar de la
memoria del computador (los tipos no se guardan en memoria una vez que se ha finalizado la
compilación del programa sino que solo se utiliza para comprobaciones de semántica )
La tabla de símbolos tiene típicamente la
siguiente estructura:
Lexema Token Atributos
Ejemplo) de una tabla de símbolos típica
Los atributos se manejan en una tabla de símbolos
deben ser considerados para la implementación de
un compilador tales como:
• Nombre de la variable.
• Dirección del código objeto.
• Tipo.
• Valor (o numero de parámetros para un
procedimiento)
• Numero de líneas fuente donde fue declarada la
variable.
• Numeros de línea de fuente donde se hace
referencia a la variable.
• Liga. Campo cuyos valores sirven para listar
variables en orden alfabético.
CUANDO CONSTRUIR UNA TABLA DE
SÍMBOLOS
• El punto del procesador de traducción en el cual son invocadas las rutinas de manejo de la tabla de
símbolos depende primeramente del número y la naturaleza de los pasos del compilador.
• En un compilador multipasos, la tabla de símbolos es creada durante el paso de análisis léxico. Por
medio de un índice se entra a la tabla de símbolos para ubicar la variable, a partir del token generado
por el scanner.