Automatas y compiladores clase3

12
Germania Rodríguez [email protected] Teoría de Autómatas y Compiladores

Transcript of Automatas y compiladores clase3

Page 1: Automatas y compiladores clase3

Germania Rodríguez [email protected]

Teoría de Autómatas y Compiladores

Page 2: Automatas y compiladores clase3

Expresiones Regulares

Page 3: Automatas y compiladores clase3

Expresiones Regulares •  Propiedades:

Page 4: Automatas y compiladores clase3

Expresiones Regulares •  Ejemplos:

Page 5: Automatas y compiladores clase3

Un autómata finito es un modelo matemático de una máquina que se utiliza para describir el proceso de reconocimiento de patrones en cadenas de entrada.

El autómata finito acepta una cadena x si la secuencia de transiciones correspondientes a los símbolos de x conduce desde el estado inicial a un estado final definidos.

Autómatas Finitos

Page 6: Automatas y compiladores clase3

Generalmente se asocia con cada autómata un grafo dirigido, llamado diagrama de transición de estados. Cada nodo del grafo corresponde a un estado. El estado inicial se indica mediante una flecha que no tiene nodo origen. Los estados finales se representan con un círculo doble. Si existe una transición entre estados existe entonces un arco rotulado.

Ejm: Para el patrón identificadores = letra (letra | digito)*

Autómatas Finitos

Page 7: Automatas y compiladores clase3

Si para todo estado del autómata existe como máximo una transición definida para cada símbolo del alfabeto, se dice que el autómata es determinístico (AFD). Si a partir de algún estado y para el mismo símbolo de entrada, se definen dos o más transiciones se dice que el autómata es no determinístico (AFND).

Autómatas Finitos

Page 8: Automatas y compiladores clase3

Un AFD es una quíntupla A = {Σ, S, T, s0, A} Σ alfabeto S estados T función de transición T: S x Σ S S0 estado inicial s0 E S A conjunto de estados de aceptación A C S

El lenguaje aceptado por M se identifica L(M) y define el conjunto de cadenas c1,c2,…cn aceptadas.

Autómatas Finitos

Page 9: Automatas y compiladores clase3

El lenguaje aceptado por M se identifica L(M) y define el conjunto de cadenas c1,c2,…cn aceptadas.

Autómatas Finitos

Page 10: Automatas y compiladores clase3

Ejm: Para el patrón identificadores = letra (letra | digito)*

Algunas acotaciones: •  Se puede utilizar el sistema de identificación que

queramos para identificar los estados. •  Se puede etiquetar las transiciones con nombres que

representan conjuntos de caracteres. •  Las transiciones dadas por la función T: S x Σ S esto

quiere decir T(s,c) debe tener un valor para cada s y c, las transiciones no definidas son Transiciones de error.

Autómatas Finitos Deterministas AFD

Page 11: Automatas y compiladores clase3

Ejm:

•  Estado error •  Transiciones: otro = - (letra | digito) •  Transición: cualquiera desde error

Autómatas Finitos Deterministas AFD

Page 12: Automatas y compiladores clase3

•  Kenneth C. Louden, Construccion de Compiladores Principios Y Práctica

•  Universidad Jaume, Open Course Ware –II20 Teoría de autómatas y lenguajes formales en: http://e-ujier.uji.es/pls/w w w / ! g r i _ w w w . e u j i 2 2 1 0 1 ?p_id=7&p_tipo=A&p_curso=II20&p_idioma=ES

Bibliografía