ESCUELA:
PONENTE:
BIMESTRE:
TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES
CICLO:
CIENCIAS DE LA COMPUTACIÓN
I BIMESTRE
ING. JUAN CARLOS TORRES
ABRIL 2007 – AGOSTO 2007
Autómatas
• Máquina conceptual capacidad procesar cadenas (texto)
Autómatas
Aplicaciones• Reconocedores de lenguaje• Comparación de cadenas• Ejemplos (worddiccionario, buscar,
reemplazar)
Alfabetos
• Conjunto de símbolos• A={a,b,c,d, ….z}
Palabras
• Concatenación de símbolos pertenecientes a un alfabeto
• A={a,b,c,d, ….z}• casa
Lenguaje
• Conjunto de palabras formadas sobre un alfabeto
• L={alfabeto castellano}• Restricciones (ciertas palabras)
Autómata finito• Estados + transiciones• Reconocer construcción (palabra) • Finito
12
3
Autómata finito• 5 tupla (Q, Símbolos de entrada, Transición, Estado inicial, {} estados finales)
Autómata finito determinista
12
3
a
b
c
Diagrama y tabla de transiciones
12
3
a
b
c
Autómata finito no determinista
12
3
a
a
c
Equivalencia E-R autómata
Ejemplo
Conversión AFND AFD
Ejemplo
Expresión regular
Representar lenguaje
Abreviación
L(L D)│ +
Expresiones regularesBase
(E) y 0 L(E)={E} L(0)= 0
aa es una E R L(a)={a}
L cualquier lenguaje
Paso inductivo
+, ., *(clausura), ()
Operaciones con lenguajes
Unión
Concatenación
Clausura
Precedencia de operadores
* clausura
.
U
Análisis léxico
Lenguajes de programación
• Análisis léxico
• Análisis sintáctico
• Análisis semántico
Análisis léxico
Apertura del archivo• Lectura de sus caracteres (símbolos)• Concatenación• Comparación de cadenas• Retorno del token
Especificación componentes léxicos
Diseño de lenguaje de programación• Palabras reservadas• Identificadores
Ejemplo: L(L D)+│