3. Por:PedroVillalta
pavillalta@gmail.com
TABLA DE TRANSICION
Es la manera más cercana de representar los
autómatas, consta de de filas que
representan los estados y las columnas que
representan los símbolos de entrada.
Adicionalmente se agregan dos columnas
para representar los tokens y para indicar
retrocesos.
TABLAS DE TRANSICIÓN Y DE SIMBOLOS
3
9. Por:PedroVillalta
pavillalta@gmail.com
CREAR DT Y TT PARA…
Analizador léxico que reconoce comentarios
definidos como:
Comentario = <!-- CHAR* END
Aclaraciones:
CHAR = CUALQUIER CARACTER DISTINTO DE END
END = NUEVA LINEA
TABLAS DE TRANSICIÓN Y DE SIMBOLOS
9
15. Por:PedroVillalta
pavillalta@gmail.com
TRATAMIENTO DE ERRORES AL
El analizador léxico rechaza caracteres no definidos o mal
combinados.
Algunos ejemplos podrían ser:
“ñ”, “é”
(caracteres que no pertenecen al alfabeto del lenguaje)
“:=”, “:::”
(no coinciden con ningún patrón de los tokens posibles)
TABLAS DE TRANSICIÓN Y DE SIMBOLOS
15
16. Por:PedroVillalta
pavillalta@gmail.com
TRATAMIENTO DE ERRORES AL
Los mensaje de error deben de ser claros y exactos:
int número = 1 ;
^
ERROR 124: línea 85, columna 6, carácter no válido
Evitando usar: “Error 124”, “Falta declaración”, “Error en la
línea 85”,
“Se ha producido un error”
Entre otros.
TABLAS DE TRANSICIÓN Y DE SIMBOLOS
16
17. Por:PedroVillalta
pavillalta@gmail.com
TRATAMIENTO INTELIGENTE DE
ERRORES AL
Posibles acciones del analizador léxico para detectar
errores, recuperarse y seguir trabajando:
Modo de pánico: Ignorar los caracteres no válidos hasta un
carácter en el cual se considera que podría empezar un lexema
correcto.
Distancia mínima de corrección de un error, por ejemplo:
recuperación “inteligente” con correcciones como:
Borrar los caracteres extraños.
Insertar un carácter que pudiera faltar.
Reemplazar un carácter incorrecto por uno correcto.
Conmutar las posiciones de dos caracteres adyacentes
TABLAS DE TRANSICIÓN Y DE SIMBOLOS
17
18. Por:PedroVillalta
pavillalta@gmail.com
TABLA DE SIMBOLOS
Es una estructura de datos que
mantiene la información asociada con
los identificadores:
Funciones
Variables
Constantes
Tipos de datos
TABLAS DE TRANSICIÓN Y DE SIMBOLOS
18
19. Por:PedroVillalta
pavillalta@gmail.com
TABLA DE SIMBOLOS, FUNCIONES
La tarea principal es participar con las
fases del compilador:
Rastreador o Analizador Léxico
Analizador Sintáctico
Analizador Semántico, ingresa los tipos
de datos y más
Optimización
Generación de código
TABLAS DE TRANSICIÓN Y DE SIMBOLOS
19
20. Por:PedroVillalta
pavillalta@gmail.com
TABLA DE SIMBOLOS, FUNCIONES
Y sus dos funciones más importantes son:
A la tabla de símbolos también podemos llamarle:
Tabla de nombres o tabla de identificadores y tiene dos funciones
principales:
Efectuar chequeos semánticos.
Generación de código.
La tabla almacena la información que en cada momento se necesita
sobre las variables del programa, información tal como: nombre, tipo,
dirección de localización, tamaño, etc.
TABLAS DE TRANSICIÓN Y DE SIMBOLOS
20
21. Por:PedroVillalta
pavillalta@gmail.com
OPERACIONES QUE REALIZA
La tabla de símbolos consta de una estructura llamada símbolo.
Las operaciones que puede realizar son:
crear: Crea una tabla vacía.
insertar: Parte de una tabla de símbolo y de un nodo, lo que
hace es añadir ese nodo a la cabeza de la tabla.
buscar: Busca el nodo que contiene el nombre que le paso por
parámetro.
imprimir: Devuelve una lista con los valores que tiene los
identificadores de usuario, es decir recorre la tabla de
símbolos.
TABLAS DE TRANSICIÓN Y DE SIMBOLOS
21
22. Por:PedroVillalta
pavillalta@gmail.com
TABLAS DE TRANSICIÓN Y DE SIMBOLOS
22
Autor: Pedro Antonio Villalta
Correos de Contacto
pavillalta@gmail.com
pavillalta@ugb.edu.sv
https://plus.google.com/u/0/105223072803758915793/about
Perfil Google+
http://ingenieria-en-sistemas-informaticos.blogspot.com/
Sitio Web
Facebook y Twitter
facebook.com/pavillalta
facebook.com/pavillaltaugb
twitter.com/pavillalta
23. Por:PedroVillalta
pavillalta@gmail.com
Comercio Electronico (E-Commerce)
Compiladores e Interpretes
Desarrollo de Aplicaciones Para Dispositivos Móviles
Ingenieria en Sistemas Informáticos
Ingenieria Web (Web Engineering)
Noticias de Tecnología | Informática | Ciencia
Programación Visual Basic .Net
Redes de Computadoras
Investigación Científica
Artes Marciales, Tae Kwon Do
Blogs Educativos
Portafolio Profesional
BLOG EDUCATIVOSREDES SOCIALES
23