LENGUAJES INDEPENDIENTES
DEL CONTEXTO
Autómatas de Pila y Lenguajes Independientes de Contexto 07/03/2009 2
Índice
Cuestionario 4
Autómatas 5
Características 8
Principio de Pre Análisis 9
Formalización de los AP 10
Límites de los Autómatas de Pila 12
Proceso de reconocimiento de una cadena 13
Lenguajes libres de contexto 15
Gramáticas independientes del contexto 17
Gramáticas libres del contexto 18
BNF 21
Bibliografía de Avram Noam Chomsky 22
Respuestas 23
Bibliografía 25
Autómatas de Pila y Lenguajes Independientes de Contexto 07/03/2009 3
Objetivo
Cuestionario
1. ¿Qué es un autómata de Pila?
2. ¿Para que sirve la pila de los Autómatas?
3. ¿Qué es el principio de pre análisis?
4. ¿Mencione el proceso de reconocimiento de una cadena?
5. ¿Qué significa un GIC?
6. ¿Para que nos sirve un GIC?
7. ¿Cuantos tipos de gramática existen según la clasificación de Chomsky
y cuales son?
8. ¿A que se debe el nombre “Libre de Contexto”?
Autómatas de Pila y Lenguajes Independientes de Contexto 07/03/2009 5
Autómata
Al igual que con los lenguajes regulares podemos definir un autómata como una
máquina reconocedora de cadenas (palabras) de un determinado lenguaje.
Los autómatas son dispositivos de computo que operan como una maquina de estados
finitos, las cuales realizan un encadenamiento automático y continuo de operaciones
capaces de procesar una información de entrada para producir otra de salida.
Por lo general los autómatas finitos no son lo suficientemente poderosos para aceptar el
control de enlace lógico LLC (Logical Link Control) quien es el que define la forma en que
los datos son transferidos sobre el medio físico, proporcionando servicio a las capas
superiores
La idea es agregar “algo” a los Autómatas Finitos para que de alguna manera se
incremente
Autómatas de Pila y Lenguajes Independientes de Contexto 07/03/2009 6
Por tal motivo surgen los Autómatas de Pila, que al igual que un
Autómata Finito, cuenta con un flujo de entrada y un flujo de control
que puede encontrarse en uno de entre un número finito de estados
Características
La Pila funciona de manera que el último carácter que se almacena en ella es el primero
en salir (orden LIFO), como si apiláramos platos uno encima de otro, y naturalmente el
primero que quitaremos es el último que hemos colocado.
Un aspecto crucial de la pila es que sólo podemos modificar el “tope” de la pila, que es el
extremo por donde entran o salen los caracteres.
Los caracteres a la mitad de la pila no son accesibles sin quitar antes los que están
encima de ellos
La pila tendrá un alfabeto propio que puede o no
coincidir con el alfabeto de la palabra de entrada.
Esto se justifica porque puede ser necesario
introducir en la pila caracteres especiales usados
como separadores según las necesidades de diseño
del autómata
Autómatas de Pila y Lenguajes Independientes de Contexto 07/03/2009 9
Formalización de los AP
Un Autómata de Pila es un séxtuplo (K, ∑, Г, ∆, s, F), donde :
K es un conjunto de estados
∑ es el alfabeto de entrada
Г es el alfabeto de la pila
S ∈ K es el estado inicial
F K es un conjunto de estados finales
∆ esta representa la siguiente tabla
(s, a, E) (s, a)
(s, b, E) (s, b,)
(s, c, E) (f, E )
(f, a, a) (f, E )
(f, b, b) (f, E )
Autómatas de Pila y Lenguajes Independientes de Contexto 07/03/2009 11
Las operaciones típicas de las pilas -el “push” y el “pop”- pueden ser vistas como casos
particulares de las transiciones de nuestro AP; en efecto, si sólo queremos meter la
cadena a la pila, se haría con la transición ((p, u, E)(q, )) (“push”), mientras que si sólo
queremos sacar caracteres de la pila de hará con la transición ((p, u, β)(q, E)) (“pop”).
Autómatas de Pila y Lenguajes Independientes de Contexto 07/03/2009 12
Por cada símbolo leído se produce una transición desde el estado actual a otro a través
de la flecha cuyo símbolo de entrada coincida con el símbolo leído, siempre y cuando la
cabecera de la pila coincida con el símbolo de pila que figura a la izquierda del punto y
coma
El autómata puede realizar transiciones entre estados sin consumir símbolos de entrada
o símbolo de pila a través de flechas en las que en el lugar correspondiente de la
etiqueta aparezca el símbolo λ
Coffee
Coffee Break
ak Coffee
Autómatas de Pila y Lenguajes Independientes de Contexto 07/03/2009 15
Todos los LR son LLC, pero no todos los LLC son LR.
Los LLC (que no sean LR) no pueden denotarse mediante expresiones regulares ni
pueden ser reconocidos mediante AF. Los LLC se utilizan para especificar la mayoría de
los lenguajes de programación
Autómatas de Pila y Lenguajes Independientes de Contexto 07/03/2009 16
Ejemplos
1. G = (VN, VT, E, P) con VT= {id, num,+,*,(,)} VN = {E}
P: 1. E→E+E
2. E→E*
3. E→(E)Derivar la palabra id * (id+num) * id
4. E→id
5. E→num
1- Gramáticas regulares.
2- Gramáticas libres del contexto.
3- Gramáticas dependientes del contexto.
4- Gramáticas irrestrictas.
Las más usadas en el área de compiladores son las gramáticas libres del contexto y
las gramáticas regulares.
Autómatas de Pila y Lenguajes Independientes de Contexto 07/03/2009 18
Sin embargo tienen sus limitaciones desde el punto de vista semántica (declaración y
uso de identificadores en Pascal).
El nombre “libre de contexto” se debe a que cada una de las producciones pueden ser
aplicadas independientemente del contexto en donde aparezca un no terminal en una
forma sentencial.
Derivaciones:
Ejemplo:
BNF
La BNF es otra forma de especificar una gramática libre del contexto, y usa
los siguientes símbolos:
Ejemplo: <sentenciafor>::=for<condicion><sentencia>
Es profesor emérito de
Lingüística en el MIT y una de
las figuras más destacadas de la
lingüística del siglo XX, es
sumamente reconocido en la
comunidad científica y
académica por sus importantes
trabajos en teoría lingüística y
ciencia cognoscitiva.
Autómatas de Pila y Lenguajes Independientes de Contexto 07/03/2009 23
Respuestas
1. ¿Qué es un autómata de Pila?
son dispositivos de computo que operan como una maquina de estados finitos, las cuales realizan un encadenamiento automático y
continuo de operaciones capaces de procesar una información de entrada para producir otra de salida.
Bibliografía
• http://dac.escet.urjc.es/~lrincon/uned/ta1/ta1-tema2.pdf
• http://148.202.148.5/cursos/cc209/teoriacomp/MODULO_4/Teoria_4_2.htm
• http://cnx.org/content/m16320/latest/
• http://fisica.ciens.ucv.ve/etisc/2001/curso/Ce_iii_clase1.html
• http://156.35.94.1/asignaturas/aut.mat.dis/apuntes/Tema2-2005-2006V1.pdf