Anda di halaman 1dari 3

AUTOMATAS DE PILA

OBJETIVO

Diseñar y analizar los autómatas de pila para comprender mejor su aplicación en los
analizadores sintácticos.

JUSTIFICACIÓN

Tener conocimiento de la utilización de los autómatas de pila es un tema importante, ya


que podemos ampliar nuestro conocimiento y tener mas herramientas para el diseño de
analizadores.

INTRODUCCIÓN

En este tema veremos como trabaja un AP, los elementos que lo forman y la manera en
que se representan las transiciones.

CONTENIDO

Una maquina de este tipo se representa de la siguiente forma


CINTA DE ENTRADA

LA CABEZA SE MUEVE
CEBEZA DE LECTURA EN ESTA DIRECCION

S0
S5
S1
Indicador de estado
S4
S2
S3
PILA

MECANISMO DE CONTROL
AUTOMATAS DE PILA

Al igual que un autómata finito un autómata de pila cuenta con un flujo de entrada y un
flujo de control que puede encontrarse en uno de entre un numero finito de estados. Uno
de estos estados se designa como el inicial y por lo menos un estado es de aceptación.

1
La principal diferencia es que los autómatas de pila cuentan con una pila en donde
pueden almacenar información para recuperarla mas tarde.

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 calculo, 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 #.

Las transiciones que ejecutan los autómatas de pila deben ser variantes de la siguiente
secuencia básica: leer un símbolo de entrada, extraer un símbolo de la pila insertar un
símbolo en la pila y pasar a un nuevo estado. Este proceso se representa con la notación
(p,x,s;q,y) donde p,x,s;q,y son, respectivamente el estado p actual, el símbolo x del
alfabeto que se lee de la entrada, el símbolo s que se extrae de la pila, q el nuevo estado
y “y” el símbolo que se inserta en la pila. Esta notación esta diseñada para indicar que, el
estado actual, el símbolo de entrada y el símbolo de la sima de la pila ayudan a
determinar conjuntamente el nuevo estado y el símbolo que deberá insertarse en la pila.
Se obtienen variantes de este proceso básico de transición permitiendo que las
transiciones lean extraigan o inserten la cadena vacía. Por ejemplo una transición posible
seria (p,λ ,λ ;q,λ ). Es decir, al encontrarse en el estado p, la maquina podría no avanzar
su cabeza de lectura(lectura de la cadena vacía) no extraer un símbolo de su pila (Extraer
λ ) no insertar un símbolo en su pila (insertar λ ) y pasar al estado q otro ejemplo es la
transición que solo pasa del estado p al q extrayendo el símbolo s de la pila, lo cual
representa con (p, λ ,s; q, λ ). Otros ejemplos incluyen transiciones como (p, x , λ ; q , z) ,
(p, λ ,λ ;q,z) etcétera.

Para representar la colección de transiciones disponibles para un autómata de pila se


utiliza un diagrama de transiciones que es semejante al de un autómata finito, los estados
se representan con círculos y las transiciones por medio de arcos entre los círculos. La
rotulación de los arcos lleva más información. Un arco de p a q que representa la
transición (p,x,y;q,z) tendría una etiqueta x,y;z.

Ejemplo

El primer paso es marcar la parte inferior de la pila con el símbolo # y luego insertar en la
pila las x conforme se lean de la entrada. Luego la maquina extrae una x de la pila cada
vez que se lee una y. Cuando el símbolo # reaparece en la parte superior de la pila se ha
leído el mismo símbolo # de y y x. Como el estado inicial es también de aceptación se
permite que la maquina acepte la cadena x0 y0, que es λ .

A partir de este diagrama se observa que si la maquina lee una x de la entrada cuando se
encuentra en el estado 2, insertara una x en la pila y regresara al estado 2; si la maquina
lee una de la entrada y puede extraer una x de la pila cuando se encuentra en el estado
3; o si el símbolo # se encuentra en la cima de la pila cuando la maquina se halla en el
estado 3, la maquina puede extraer este símbolo y pasar al estado 4.

Formalmente un autómata de pila es una séxtupla de la forma (S,Σ , ,T,i,F) donde:

S: es una colección finita de estados

2
Σ : es el alfabeto de la maquina
 : es la colección finita de símbolos de pila
T: es una colección finita de transiciones
i: (es un elemento de S) es el estado inicial
F: (es un subconjunto de S) es la colección de estados de aceptación

ACTIVIDADES OBLIGATORIAS

1. En los AP ¿cuál es el objetivo de la pila?


2. Menciona la secuencia básica de los Autómatas de pila

ACTIVIDADES SUGERIDAS

1. Describe el funcionamiento de los autómatas de pila.

RECURSOS PARA AMPLIAR EL TEMA


BIBLIOGRAFIA

* APUNTES SOBRE LA TEORIA DE AUTOMATAS Y LENGUAJES FORMALES


GARCÍA PEDRO

* TEORIA DE AUTOMATAS Y LENGUAJES FORMALES. AUTOMATAS Y


COMPLEJIDAD
KELLY DEAN

* INTRODUCCION A LA TEORIA DE AUTOMATAS, LENGUAJES Y COMPUTACIÓN


JOHN E. HOPCROFT
JEFFREY D. ULLMAN

AUTOEVALUACION

1. Relaciona los autómatas de pila con algún elemento de uso común y describe su
funcionamiento.
2. Mencione la relación que tienen los autómatas de pila con los autómatas finitos y
cuales son sus diferencias.

Anda mungkin juga menyukai