20
ANALISIS LEXICO y Diagramas de Transición Análisis Lexico y Diagramas de Transición 1

Compiladores, Analisis Lexico

Embed Size (px)

DESCRIPTION

Descripción de la primera etapa del proceso de compilación, el Análisis Léxico.

Citation preview

Page 1: Compiladores, Analisis Lexico

ANALISIS LEXICO

y Diagramas de Transición

Análisis Lexico y Diagramas de Transición

1

Page 2: Compiladores, Analisis Lexico

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.

Page 3: Compiladores, Analisis Lexico

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)*

Page 4: Compiladores, Analisis Lexico

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]

Page 5: Compiladores, Analisis Lexico

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

Page 6: Compiladores, Analisis Lexico

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

Page 7: Compiladores, Analisis Lexico

Análisis Lexico y Diagramas de Transición

7

Especificación AL

Especificación formalGramáticas Lineales

Recursivas a izquierdas Recursivas a derechas

expresiones regularesAutómatas Finitos (Diagramas de

Transición)

Page 8: Compiladores, Analisis Lexico

Análisis Lexico y Diagramas de Transición

8

Funciones del AL

Tratar con la tabla de símbolosGenerar tokens bajo demanda del

analizador sintácticoManejar el fichero fuenteIgnorar comentariosContabilizar posición de tokensPreprocesar macros, constantes,

includes…

Page 9: Compiladores, Analisis Lexico

Análisis Lexico y Diagramas de Transición

9

Gramáticas

Gramáticas Linealmente RecursivasAlfabeto terminalAlfabeto no terminalAxiomaReglas de producción

Page 10: Compiladores, Analisis Lexico

Análisis Lexico y Diagramas de Transición

10

Tipos de Gramáticas

Tipos de gramáticas recursivas:

Recursividad a izquierdasS := A letra | A digitoA := A letra | A digito | letra

Recursividad a derechasS := letra AA := letra A | digito A | letra | digito

Page 11: Compiladores, Analisis Lexico

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)

Page 12: Compiladores, Analisis Lexico

Análisis Lexico y Diagramas de Transición

12

Ejemplos

a*(b | c)+bccbcbccbcabbbcccabbcbcccbbc

(0-9)*.(0-9)+0.2364253567.45627.7584785.0

Page 13: Compiladores, Analisis Lexico

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

Page 14: Compiladores, Analisis Lexico

Análisis Lexico y Diagramas de Transición

14

Más Ejemplos DT

Page 15: Compiladores, Analisis Lexico

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.

Page 16: Compiladores, Analisis Lexico

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

Page 17: Compiladores, Analisis Lexico

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.

Page 18: Compiladores, Analisis Lexico

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?

Page 20: Compiladores, Analisis Lexico

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 Educativos