Вы находитесь на странице: 1из 5

Universidad Mariano Glvez de Guatemala

Sede Villanueva
Compiladores
Gustavo Adolfo Vides Sols

Autmatas de pila y autmatas LR: SLR

Pablo Enrique Samayoa Gmez


5190 - 13 - 4915
20 de mayo de 2,017
Autmatas de pila

Definicin

Un autmata con pila, autmata a pila o autmata de pila es un modelo matemtico de un sistema
que recibe una cadena constituida por smbolos de un alfabeto y determina si esa cadena pertenece
al lenguaje que el autmata reconoce. El lenguaje que reconoce un autmata de pila pertenece al
grupo de los lenguajes libres de contexto en la clasificacin de la jerarqua de Chomsky.

En la siguiente imagen se muestra la definicin formal de un autmata de pila:

Funcin

Los autmatas de pila, en forma similar a como se usan los autmatas finitos, tambin se pueden
utilizar para aceptar cadenas de un lenguaje definido sobre un alfabeto A. Los autmatas de pila
pueden aceptar lenguajes que no pueden aceptar los autmatas finitos. Un autmata de pila cuenta
con una cinta de entrada y un mecanismo de control que puede encontrarse en uno de entre un
nmero finito de estados. Uno de estos estados se designa como estado inicial y adems algunos
estados se llaman de aceptacin o finales. A diferencia de los autmatas finitos, los autmatas de
pila cuentan con una memoria auxiliar llamada pila. Los smbolos (smbolos de pila) pueden ser
insertados o extrados de la pila, de acuerdo con el manejo last in first out (LIFO). Las transiciones
entre los estados que ejecutan los autmatas de pila dependen de los smbolos de entrada y de los
smbolos de la pila. El autmata acepta una cadena x si la secuencia de transiciones, comenzando
en estado inicial y con la pila vaca, conduce a un estado final, despus de leer toda la cadena x.
Ejemplo de un autmata de pila
Autmata de LR: SLR

Definicin

Analizador sintcticos LR. Tambin conocidos como parser LR, son un tipo de analizadores para
algunas gramticas libres de contexto. Pertenece a la familia de los analizadores ascendentes, ya
que construyen el rbol sintctico de las hojas hacia la raz. Utilizan la tcnica de anlisis por
desplazamiento reduccin.

Un analizador LR consta de:

Un programa conductor
Una entrada
Una salida
Una tabla de anlisis sintctico, compuesta de 2 partes (ACCIN Y GOTO)

Cabe acotar que el programa conductor es siempre igual, solo variando para cada lenguaje la tabla
de anlisis sintctico.

Funcin

En trminos generales un analizador sintctico LR transfiere smbolos de su entrada a la pila hasta


que los smbolos superiores de la pila sean iguales al lado derecho de alguna regla de reescritura de
la gramtica en que se basa el analizador. Al llegar a este punto el analizador sintctico puede
reemplazar estos smbolos con el no terminal que se encuentra en el lado izquierdo de la regla de
reescritura antes de transferir otros smbolos de la entrada a la pila.
De esta manera, la pila acumula cadenas de terminales y no terminales, que a su vez son
reemplazados por no terminales ms altos de la gramtica. Por ltimo, todo el contenido de la pila
se reduce al smbolo inicial de la gramtica, indicando que los smbolos ledos hasta ese punto
forman una cadena que puede derivarse con la gramtica.

Pasos para construir un Autmata

Establecer cuatro estados: inicial (i), aceptacin () y dos llamados p y q.


Introducir las transiciones (i, l, l; p, #) y (q, l, #; , l), # no pertenece a la gramtica.
Para cada smbolo terminal x en la gramtica, introducir la transicin (p, x, l; p, x) que sirve
para que el autmata transfiera a la pila los smbolos de entrada mientras se encuentra en el
estado p. Esta transicin se denomina operacin de desplazamiento.
Para cada regla de reescritura N w (w representa una cadena de uno o ms smbolos) que
exista en la gramtica, introducir la transicin (p, l, w; p, N). La presencia de estas transiciones
significa que, si los smbolos de la porcin superior de la pila concuerdan con los del lado
derecho de la regla de reescritura, entonces es posible reemplazar estos smbolos con en no
terminal de la parte izquierda de esa regla. Transicin denominada operacin de reduccin.
Introducir la transicin (p, l, S; q, l), donde S es el smbolo inicial de la gramtica. Es decir, si
se han reducido a S los smbolos de la pila, el autmata puede pasar al estado q a la vez que
extrae S de la pila.
Estructura general

Ejemplo

LR

SLR

Вам также может понравиться