La empresa sostenible: Principales Características, Barreras para su Avance y...
Compiladores, Analisis Lexico
1. ANALISIS
LEXICO
y Diagramas de Transición
Análisis Lexico y Diagramas de Transición 1
2. Análisis Lexico y Diagramas de Transición 2
Objetivos
Conocer el funcionamiento del analizador léxico
Comprender su relación con la tabla de
símbolos.
Entender como interviene la generación de
errores a partir de ésta etapa.
Aprender a especificar un analizador léxico.
Realizar diagramas y tablas de transicion.
3. Análisis Lexico y Diagramas de Transición 3
Términos
Token
◦ Elemento léxico del lenguaje
◦ Símbolo No Terminal de las fases siguientes
Patrón
◦ Expresión regular que define el lenguaje
◦ Letra (Letra | Digito)*
4. Análisis Lexico y Diagramas de Transición 4
Términos
Lexema
◦ Secuencia de caracteres que concuerda con un patrón
◦ Numero, caracter.
Atributos
◦ Estructura de datos de cada token para almacenarse en la
TS
◦ Depende del tipo de token
◦ [ID, Lexema, Tipo, Valor, línea]
5. Análisis Lexico y Diagramas de Transición 5
Pasos del AL
Identificar la colección de tokens
Estructurar la colección de tokens
Describir el lenguaje como expresiones regulares
Especificar un Diagrama de Transición
Traducir el Diagrama a una tabla de transición
6. Análisis Lexico y Diagramas de Transición 6
Ejemplo
Analizador léxico que reconozca los siguientes
elementos:
Números enteros
Operadores aritméticos suma, resta,
producto, división, incremento y decremento
(+, - *, /, ++,--)
Identificadores
WHILE
7. Análisis Lexico y Diagramas de Transición 7
Especificación
AL
Especificación formal
Gramáticas Lineales
Recursivas a izquierdas
Recursivas a derechas
expresiones regulares
Autómatas Finitos (Diagramas de Transición)
8. Análisis Lexico y Diagramas de Transición 8
Funciones del AL
Tratar con la tabla de símbolos
Generar tokens bajo demanda del analizador
sintáctico
Manejar el fichero fuente
Ignorar comentarios
Contabilizar posición de tokens
Preprocesar macros, constantes, includes…
9. Análisis Lexico y Diagramas de Transición 9
Gramáticas
Gramáticas Linealmente Recursivas
Alfabeto terminal
Alfabeto no terminal
Axioma
Reglas de producción
10. Análisis Lexico y Diagramas de Transición 10
Tipos de
Gramáticas
Tipos de gramáticas recursivas:
Recursividad a izquierdas
S := A letra | A digito
A := A letra | A digito | letra
Recursividad a derechas
S := letra A
A := letra A | digito A | letra | digito
11. Análisis Lexico y Diagramas de Transición 11
Expresiones
Regulares
Alfabeto
Cierre simétrico + (1 o más)
Cierre transitivo * (0 o más)
12. Análisis Lexico y Diagramas de Transición 12
Ejemplos
a*(b | c)+
bccbcbccbc
abbbccc
abbcbcccbbc
(0-9)*.(0-9)+
0.236425
3567.45627
.758478
5.0
13. Análisis Lexico y Diagramas de Transición 13
Diagramas de
transición
UN DIAGRAMA DE TRANSICIONES es
una colección finita de círculos, los cuales
se pueden rotular para fines de referencia,
conectados por flechas que reciben el
nombre de ARCOS
15. Análisis Lexico y Diagramas de Transición 15
Características
del DT
Cada uno de estos arcos se etiqueta con un
símbolo que podría presentarse en la
cadena de entrada que se analiza.
Uno de los círculos se designa con un
apuntador, y representa una posición inicial.
Además, por lo menos uno de los círculos
se representa como un circulo doble; estos
círculos dobles designan posiciones finales
del diagrama en las cuales se ha reconocido
una cadena valida.
16. Análisis Lexico y Diagramas de Transición 16
Características
del DT
Decimos que una cadena de símbolos es
aceptada por un diagrama de transiciones si
los símbolos que aparecen en la cadena
(de izquierda a derecha) corresponden a
una secuencia de arcos rotulados que
conducen del circulo designado por el
apuntador a un circulo doble
17. Análisis Lexico y Diagramas de Transición 17
Características
del DT
Los círculos de un diagrama de transiciones
representa posiciones, o estados, donde no
podemos encontrar al evaluar una cadena
de símbolos.
Es común llamar estados a los círculos de
un diagrama de transiciones.
Él circulo de partida se llama estado inicial
y los círculos dobles, estados de
aceptación.
18. Análisis Lexico y Diagramas de Transición 18
Estados de
Aceptación
Cuál es el estado inicial?
Cuál es el estado de aceptación?
Cuál sería una cadena válida?
19. Autor: Pedro Villalta
https://plus.google.com/u/0/105223072803758915793/about
Correos de Contacto
pavillalta@gmail.com
pavillalta@ugb.edu.sv
Perfil Google+
Redes Sociales
Sitio Web
http://ingenieria-en-sistemas-informaticos.blogspot.com/
Facebook y Twitter
facebook.com/pavillalta
facebook.com/pavillaltaugb
twitter.com/pavillalta
20. Blog Educativos
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