Teoría de Autómatas y Lenguajes Formales (I Bimestre)

Post on 08-Jul-2015

13.190 views 5 download

description

Universidad Técnica Particular de Loja Ciencias de la Computación Teoría de Autómatas y Lenguajes formales I Bimestre Abril-Agosto 2007 Ponente: Ing. Juan Carlos Torres

Transcript of Teoría de Autómatas y Lenguajes Formales (I Bimestre)

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)+│