La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

UNIVERSIDAD VALLE DEL MOMBOY FACULTAD DE INGENIERIA ESCUELA DE COMPUTACIÓN CATEDRA: EDUMATICA Br: JENNY CORONADO C.I. 13.764.674.

Presentaciones similares


Presentación del tema: "UNIVERSIDAD VALLE DEL MOMBOY FACULTAD DE INGENIERIA ESCUELA DE COMPUTACIÓN CATEDRA: EDUMATICA Br: JENNY CORONADO C.I. 13.764.674."— Transcripción de la presentación:

1 UNIVERSIDAD VALLE DEL MOMBOY FACULTAD DE INGENIERIA ESCUELA DE COMPUTACIÓN CATEDRA: EDUMATICA Br: JENNY CORONADO C.I. 13.764.674

2  ANALIZADOR LÉXICO  DIAGRAMAS DE TRANSICIONES  AUTÓMATAS  TIPOS DE AUTOMATAS:  AUTÓMATAS FINITOS NO DETERMINISTAS (AFN)  AUTÓMATAS FINITOS DETERMINISTAS (AFD)  CONVERSIÓN DE UN AFN A UN AFD  CONSTRUCCION DE UN AFN APARTIR DE UNA EXPRESIÓN REGULAR

3 El analizador léxico es la primera fase de un compilador. Su principal función consiste en leer los caracteres de entrada y elaborar como salida una secuencia de componentes léxicos que utiliza el analizador sintáctico para hacer el análisis. Como el analizador léxico es la parte del compilador que lee el texto fuente, también puede realizar ciertas funciones secundarias en la interfaz del usuario, como eliminar del programa fuente comentarios y espacios en blanco en forma de caracteres de espacios en blanco, caracteres TAB y de línea nueva.

4 Como paso intermedio en la construcción de un analizador léxico primero se produce un diagrama de flujo estilizado, llamado diagrama de transiciones, representan las acciones que tienen lugar cuando el analizador léxico es llamado por el analizador sintáctico para obtener el siguiente componente léxico. Las posiciones en un diagrama de transición se representan con un circulo y se llaman estados, los estados se conectan mediante flechas, llamadas aristas. Las aristas que salen del estado s tienen etiquetas que indican los caracteres de entrada que pueden aparecer después de haber llegado el diagrama de transición al estado s

5 AUTOMATAS FINITOS: Un reconocedor de un lenguaje es un programa que toma como entrada una cadena x y responde "Si" si x es una frase del programa y "No", si no lo es. Un Autómata Finito puede ser:  Autómata Finito Determinista (AFD)  Autómata Finito No Determinista (AFN)

6 AUTÓMATAS FINITOS NO DETERMINISTAS (AFN).- Formado por una quíntupla o cinco entidades esenciales: Un conjunto de estados S. Un conjunto de símbolos de entrada S. Una función de transición mueve. Un estado So que se considera el estado de inicio. Un conjunto de estados F considerados como estados de aceptación.Ejemplo: Grafo de transición de un AFN que reconoce al lenguaje (a | b)*abb

7 AUTÓMATAS FINITOS DETERMINISTAS (AFD).- Es un caso especial de un autómata finito no determinista en el cual: Ningún estado tiene una transición. Para cada estado S y para cada símbolo a, hay a lo sumo una arista etiquetada a que sale de S. ALGORITMO SIMULACIÒN DE UN AFD.-S=So;C=Sigcar; While C <> eof do S: = mueve (S,C); S: = mueve (S,C); C: = Sigcar C: = SigcarEnd; If S está en F then Return "Sí" Return "Sí" Else Else Return "No"; Return "No";

8 CONVERSIÓN DE UN AFN EN UN AFD Algoritmo : Algoritmo : Construcción de un AFD a partir de un AFN Entrada: Entrada: Un AFN N Salida: Salida: Un AFD D que acepta el mismo lenguaje. Método: Método: El algoritmo construye una tabla de transiciones tranD para D. Cada estado del AFD es un conjunto de estados del AFN y se construye tran D simulará en paralelo todos los posibles movimientos que N puede realizar con una determinada cadena de entrada. Se utilizan las operaciones de la tabla para localizar los cojuntos de los estados del AFN (s representa un estado del AFN, y T, un conjunto de estados del AFN).

9 CONSTRUCCION DE UN AFN A PARTIR DE UNA EXPRESION REGULAR Algoritmo: Algoritmo: construcción de un AFN a partir de una expresión regular Entrada: Entrada: Una expresión regular r en un alfabeto S Salida: Salida: Un AFN N que acepte L(r)  Para vacio, construir el AFN  Para a del alfabeto, construir el AFN  Supóngase que N(s) y N(t) son AFN para las expresiones regulares s y t  Para las expresiones regular s | t, constrúyase el siguiente AFN compuesto N(s | t )  Para la expresión regular st, constrúyase el AFN, compuesto N(st)  Para la expresión regular s*, constrúyase el AFN compuesto N(s*):  Para la expresión regular entre paréntesis (s), utilícese N(s) como AFN. Cada vez que se construye un nuevo estado, se le da un nombre distinto. De esta forma, no puede haber dos estados de un AFN componentes con el mismo nombre. Aunque aparezcan los mismos símbolos varias veces en r, se crea para cada ejemplo ese símbolo un AFN aparte con sus propios estados.


Descargar ppt "UNIVERSIDAD VALLE DEL MOMBOY FACULTAD DE INGENIERIA ESCUELA DE COMPUTACIÓN CATEDRA: EDUMATICA Br: JENNY CORONADO C.I. 13.764.674."

Presentaciones similares


Anuncios Google