Anda di halaman 1dari 25

AUTOMATAS DE PILA Y

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

Al termino de esta presentación se contará con la capacidad de


identificar los autómatas de pila y sus diferentes tipos, así como los
lenguajes independientes de contexto.
Autómatas de Pila y Lenguajes Independientes de Contexto 07/03/2009 4

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

Uno de estos estados se designa como el inicial y por lo menos un


estado de aceptación

La principal diferencia es que los Autómatas de pila cuentan justamente


con una pila en donde se puede almacenar información para
recuperarla más tarde
Autómatas de Pila y Lenguajes Independientes de Contexto 07/03/2009 7

Los símbolos que pueden almacenarse en esta pila se conocen


como símbolos de pila de la maquina, constituyen un conjunto
finito que puede incluir algunos símbolos definiendo el alfabeto
de la maquina y quizá algunos símbolos adicionales que se
utilizan como marcas internas.

Si una maquina inserta un símbolo especial en la pila antes de


efectuar algún otro cálculo, entonces ese símbolo en la cima de
la pila puede usarse como indicador de pila vacía para cálculos
posteriores, dicho símbolo es #
Autómatas de Pila y Lenguajes Independientes de Contexto 07/03/2009 8

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

Principio de Pre Análisis

Técnica que permite a los autómatas de pila observar uno o varios


símbolos más allá de donde se encuentra la cabeza lectora del autómata,
pero sin leerlos realmente.

Esta técnica permite superar el no determinismo de algunos autómatas


de pila.
Autómatas de Pila y Lenguajes Independientes de Contexto 07/03/2009 10

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

∆ (K x ∑* x Г*) x (K x Г*) es la relación de transición.

Ahora describiremos el funcionamiento de los AP. Si tenemos una transición


((p, u, β)(q, )) ∈ ∆, el AP hace lo siguiente:

Estando en el estado p, consiste u de la entrada;


Saca β de la pila;
Llega a un estado q;
Mete en la pila

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

Límites de los Autómatas de Pila

Lema de bombeo para lenguajes independientes del contexto


• Si L es un lenguaje independiente del contexto con un número infinito de cadenas,
existirá en L una cadena con la forma svuwt, siendo v o w no vacías, y también
existirán en L cadenas de la forma sv”uw”t para todo n>0.

Autómatas de pila deterministas


• En cada momento tienen una y sólo una opción posible
Autómatas de Pila y Lenguajes Independientes de Contexto 07/03/2009 13

Proceso de reconocimiento de una cadena:


 Se parte del estado inicial y la pila vacía

 Se lee la cadena símbolo a símbolo de izquierda a derecha

 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

 La cabecera de la pila es sustituida en cada transición por el símbolo de la pila a la


derecha del punto y coma en la etiqueta de la flecha

 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 λ

 La cadena es reconocida si es posible que el autómata alcance un estado de


aceptación, estando completamente con sumida la cadena de entrada
Autómatas de Pila y Lenguajes Independientes de Contexto 07/03/2009 14

Coffee
Coffee Break
ak Coffee
Autómatas de Pila y Lenguajes Independientes de Contexto 07/03/2009 15

Lenguajes Libres de Contexto

Los LLC se describen mediante las Gramáticas Libres de Contexto (GLC).

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

Hallar gramática que genera el lenguaje regular denotado por la expresión


regular a*b*

Hallar gramática que genera el lenguaje anbn , n >= 0

Hallar gramática que describe el lenguaje de los palíndromosformados por


a’s y b’s
Autómatas de Pila y Lenguajes Independientes de Contexto 07/03/2009 17

Gramáticas Independientes del Contexto


Son el método más popular utilizado para describir la sintaxis de los lenguajes de
programación.

Existen distintos tipos de gramáticas y asociado a cada uno de ellos hay un


autómata.
Chomsky definió cuatro tipos:

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

Gramáticas Libres del Contexto


Su principal característica es la de generar cadenas en modalidad espejo.

Su importancia radica en que permiten describir los aspectos sintácticos de los


lenguajes de programación. Es decir, como debe escribirse correctamente un
programa.

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.

Sus producciones responden al modelo: A →α, donde A ∈VN y α∈(VN ∪VT)*


Autómatas de Pila y Lenguajes Independientes de Contexto 07/03/2009 19

En sus reglas aparece a la izquierda un único símbolo no terminal , y a la derecha


cualquier combinación de símbolos terminales y no terminales, o la palabra vacía

Derivaciones:

árboles que se pueden leer de diferentes formas

Derivación por la derecha:

siempre se aplican las reglas de reescritura al símbolo no terminal más a la derecha de la


cadena de derivación

Derivación por la izquierda:

siempre se aplican las reglas de reescritura al símbolo no terminal más a la derecha de la


cadena de derivación
Autómatas de Pila y Lenguajes Independientes de Contexto 07/03/2009 20

Ejemplo:

Derivación por la derecha:

1. S AB S AB ABb ABbb Abbb aAabbb aabbb


2. S A
3. A aAa
4. A λ
5. B Bb
6. B b Derivación por la izquierda:

S AB aAaB aaB aaBb aaBbb aabbb


Autómatas de Pila y Lenguajes Independientes de Contexto 07/03/2009 21

BNF
La BNF es otra forma de especificar una gramática libre del contexto, y usa
los siguientes símbolos:

Símbolos no terminales entre <>


Sustitución de → por ::=

Ejemplo: <sentenciafor>::=for<condicion><sentencia>

Una gramática libre de contexto G, se dice que es ambigua, si existe alguna


palabra perteneciente al lenguaje que genera que tenga más de un árbol de
derivación.

Un lenguaje es intrínsecamente ambiguo cuando no existe ninguna


gramática libre de contexto que lo genere que no sea ambigua.
Autómatas de Pila y Lenguajes Independientes de Contexto 07/03/2009 22

Avram Noam Chomsky


(7 de diciembre de 1928 en
Filadelfia, Estados Unidos) es un
lingüista, filósofo, activista, autor
y analista político
estadounidense.

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.

2. ¿Para que sirve la pila de los Autómatas?


para almacenar información para recuperarla más tarde

3. ¿Qué es el principio de pre análisis?


Técnica que permite a los autómatas de pila observar uno o varios símbolos más allá de donde se encuentra la cabeza lectora del
autómata, pero sin leerlos realmente.

4. ¿Mencione el proceso de reconocimiento de una cadena?


Se parte del estado inicial y la pila vacía
Se lee la cadena símbolo a símbolo de izquierda a derecha
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
La cabecera de la pila es sustituida en cada transición por el símbolo de la pila a la derecha del punto y coma en la etiqueta de la
flecha
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 λ
La cadena es reconocida si es posible que el autómata alcance un estado de aceptación, estando completamente con sumida la
cadena de entrada
Autómatas de Pila y Lenguajes Independientes de Contexto 07/03/2009 24

5. ¿Qué significa un GIC?


Gramática Independiente del Contexto

6. ¿Para que nos sirve un GIC?


Para describir la sintaxis de los lenguajes de programación.

7. ¿Cuantos tipos de gramática existen según la clasificación de Chomsky y cuáles son?


1- Gramáticas regulares.
2- Gramáticas libres del contexto.
3- Gramáticas dependientes del contexto.
4- Gramáticas irrestrictas.

8. ¿A que se debe 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.
Autómatas de Pila y Lenguajes Independientes de Contexto 07/03/2009 25

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

Anda mungkin juga menyukai