Documente Academic
Documente Profesional
Documente Cultură
Lenguajes Formales.
Dr. Vctor Heughes Escobar Jeria.
Primer Semestre 2010
e-mail: victorescobar@yahoo.com
victor.escobar14@docentes.inacap.cl
Descripcin de la asignatura
OBJETIVOS
Conocer los fundamentos relacionados con la teora de
la computabilidad.
Conocer los fundamentos tericos y prcticos bsicos de
compiladores
Contenidos
1.- Fundamentos matemticos
- Alfabetos, palabras y lenguajes.
- Grafos y rboles.
- Induccin matemtica.
- Conjuntos y relaciones.
2.- Autmatas finitos:
- Autmatas finitos determinsticos.
- Autmatas finitos no determinsticos.
- Autmatas finitos con transiciones en vaco.
- Expresiones regulares.
- Autmatas que escriben
3.- Propiedades de los conjuntos regulares:
- Lema de bombeo para conjuntos regulares.
- Propiedades de clausura.
- Algoritmos de decisin.
- Teorema de Myhill-Nerode.
- Minimizacin de autmatas finitos
4
Contenidos
4.- Gramticas libres de contexto:
- Definiciones.
- rboles de derivacin.
- Simplificacin de gramticas.
- Formas normales.
- Lenguajes inherentemente ambiguos
5.- Autmatas apiladores:
- Definiciones.
- Relacin con los lenguajes libres de contexto.
6.- Propiedades de los lenguajes libres de contexto:
- Lema de bombeo para lenguajes libres de contexto.
- Propiedades de clausura.
- Algoritmos de decisin.
Contenidos
Evaluacin
Evaluaciones
Fecha
Prueba 1
14/May
20
Prueba 2
19/Jul
30
Controles
15
Trabajos
35
Introduccin.
El avance de las matemticas permite la utilizacin de nuevas
metodologas para la representacin y manejo de la informacin.
Por otro lado, aparece el intento de los matemticos y cientficos
para obtener un procedimiento general para poder resolver cualquier
problema (matemtico) claramente formulado. Es lo que se podra
llamar El problema de la computacin terica
Introduccin.
El avance de la tecnologa y de las matemticas, y ms en concreto
de la teora de conjuntos y de la lgica, permiten plantearse aspectos
de la computacin en 3 caminos:
a) Computacin terica. Autmatas, Funciones Recursivas, ...
b) Ordenadores
lenguajes, ....
digitales.
Nuevas
tecnologas,
nuevos
Introduccin.
Teora de Autmatas.
Trata del estudio de mquinas de computacin
abstractas.
Teora de la Computacin.
Trata del estudio de la computabilidad y de la
complejidad.
Lenguajes y Gramticas.
Trata del estudio y formalizacin de los
lenguajes.
11
Introduccin.
Diferencia entre los lenguajes naturales (LN) y los lenguajes de
programacin (LP), los LP tienen unas reglas de sintaxis y de
semntica mucho ms rgidas, lo que les hace manejables en los
computadores.
12
13
Autmatas
La
14
15
16
17
Compiladores.
Traductores.
Diseo de lenguajes de alto nivel.
18
19
Sistema: Interruptor.
El sistema recuerda si est
conectado (ON) o
desconectado (OFF).
El usuario lo presiona.
Si est en OFF y es
presionado pasa al estado
ON.
Si est en ON y es
presionado pasa al estado
OFF.
Presin
Comienz
off
o
on
Presin
Gramticas Formales
Gramtica regulares.
Gramticas independientes de contexto.
Gramticas sensibles al contexto.
Gramtica sin restricciones o de
estructura de frase.
20
21
Tipos de Gramticas
Tipo 0
22
Tipo 1
Tipo 2
Tipo 3
Tipos de Lenguajes
Lenguajes
Lenguajes
1).
Lenguajes
Lenguajes
Tipo 0
23
Tipo 1
Tipo 2
Tipo 3
Teora de Autmatas
- Lenguajes Formales
(Mquinas abstractas - Gramticas Formales)
equivale
Gramtica
Mquina
describe
reconoce
genera
genera
Lenguajes
24
Teora de Autmatas
Lenguajes Formales
(Mquinas abstractas - Gramticas Formales)
25
Gramticas
Lenguajes
Mquinas
Sin restricciones o
de Tipo 0
Sin restricciones o
de Tipo 0
Mquina de Turing
Sensible al
contexto o de Tipo
1
Sensible al
contexto o de Tipo
1
Autmata
linealmente
acotado
Libre de contexto o
de Tipo 2
Libre de contexto o
de Tipo 2
Autmata a pila
Regular o de Tipo
3
Regular o de Tipo
3
Autmata Finito
Teora de autmata y
Lenguajes Formales.
Proceso de traduccin que realiza los compiladores.
Mdulo
analizador
lxico
- Identificacin de
tokens
como bloques u objetos
individuales contenidos
en el diccionarios del
lenguaje.
Indicadores,
palabras
claves,
operadores, ...
Mdulo
analizador
sintctico
- Identificacin de
tokens
que forman parte de
cada instruccin y ver
que esta correctamente
escrito
Mdulo
generador
de cdigo
27
Fundamentos Matemticos.
Repasar brevemente algunas nociones y notaciones que
sern necesarias a lo largo de la asignatura.
Uniformizar la notacin, que varia bastante.
29
Fundamentos Matemticos.
Conjuntos
30
32
33
34
35
= AC BC .
36
Transitividad
Una relacin es transitiva cuando siempre que contiene los pares
(x, y) y (y, z) tambin contiene (x, z).
Por ejemplo, la relacin {(2,3), (1, 2), (1, 1), (1,3)} es transitiva,
pero {(2,3), (1, 2), (1, 1)} no lo es.
37
Fundamentos Matemticos
Clculo proposicional
Manejo
lgico de enunciados.
Por
Razonamiento Lgico
(uso del Clculo proposicional)
39
Fundamentos Matemticos
Clculo proposicional
Implicacin:
Disyuncin
:AVB
Conjuncin:
Otros
A B
AB
smbolos lgicos
implicacin, negacin, etc.
Llamados
40
son:
doble
Fundamentos Matemticos
Clculo proposicional
Una herramienta til para utilizar y comprender
los conectivos lgicos, son las tablas de verdad.
41
43
49
51
52
La palabra vaca,
El conjunto L
= { , abra, abraabra,
56
OBJETIVO
Identificar
58
Autmatas Finitos
El modelado de una mquina en lo relacionado con secuencias o
ciclos de acciones se aproxima ms al enfoque que nos centraremos.
Mquinas
abstracciones matemticas
Secuencia de
eventos
Modelo de eventos:
Estado: es una situacin que se permanece cierto lapso de
tiempo. Ej. estado civil.
acciones o eventos: para pasar de un estado a otro.
59
Autmatas Finitos.
Ej. Modelo discreto de estados civiles de una persona
Boda
Soltero
Casado
:Transicin
Muerte
cnyuge
Boda
Divorcio
:marca inicial
:marca inicial
Boda
Divorc.
Viudo
60
Autmatas Finitos.
Estados Finales.
Propsito de algunos modelos de estados y eventos, es reconocer
secuencias de eventos buenos de que se pueden diferenciar de la secuencia
malas.
Ejemplo. Simular el funcionamiento de una mquina automtica vendedora
de bebidas en lata. La mquina acepta monedas de 1, 2 y 5 y el precio de cada
lata es de 5. Consideraremos que el evento llamado 1 es la accin de
introducir una moneda de valor 1 en la mquina, y as con las otras.
Solucin.
Estado. Recordar lo que lleva acumulado
Inicial. Estado 0
61
1
1
1
5
1
2
1
5
2,5
2
4
62
1, 2,5
Autmatas Finitos.
Mquina de Estados Finitos. (retomemos el ejemplo de la mquina
vendedora)
En ese modelo:
Se pudo reconocer secuencias de eventos aceptables como la
secuencia 2, 2, 1; como secuencias no aceptables, como 1,1,1.
Desde ahora utilizaremos caracteres y los eventos se llamarn
transiciones. Por ejemplo, en vez de meter 1 vamos a tener una
transicin 1 y la secuencia de eventos van a representarse por
concatenaciones de caracteres, esto es, por palabra.
As en el ejemplo de las bebidas la palabra 1121 representa la secuencia
de eventos de meter 1, meter 1, meter 2, meter 1
63
Autmatas Finitos.
Una cinta de entrada
Visin abstracta
Un control
Una cabeza de lectura (y
eventual escritura)
Ejemplo.
q1
q0
b
a
q2
64
Transicin palabra.
bb
ab
q0 q2 q2
q0 q1 q1
Autmatas Finitos
Determinstico.
Definicin Formal. Una mquina de estados finitos M es un quntuplo
k , , , q0 , F , donde:
es el alfabeto de entrada;
q0 k es el estado inicial;
F
:k k
es la funcin de transiciones que a partir de un
estado y un smbolo del alfabeto obtiene un nuevo estado.
65
AUTMATAS FINITOS
DETERMINSTICO.
Ejemplo.
q1
q0
b
a
q2
M k , , , q0 , F
k q0 , q1 , q2
a, b
q , a , q , q , b , q , q , a , q ,
q , b, q , q , a , q , q , b, q
F q
66
AUTMATAS FINITOS
DETERMINSTICO.
67
q,
q0
q1
q0
q2
q1
q1
q1
q1
q2
q0
q2
q2
Trabajo 1.
- Investigar sobre los siguientes temas:
Bison
Yacc
Flex
Lex
- Comparar Bison v/s Yacc
- Comparar Flex v/s Lex
El trabajo no debe ser superior a 10 pg. (No incluye ni portada ni
bibliografa) y no debe ser inferior a 6 pg. El trabajo es individual y debe
ser entregado el da 15 Abril.
68