Está en la página 1de 30

Autómatas de Pila 1

Autómatas de Pila

Autómatas de Pila determinista

Definición 1
Un autómata de pila determinista (AFPD) es una 7-upla,
P = (Q, Σ, Γ, 4, q0, T, Z) donde:
1. Q es un conjunto finito de estados.
2. Σ es el alfabeto de entrada.
3. Γ es el alfabeto de la pila.
4. q0 ∈ Q es el estado inicial.
5. Z ∈ Γ sı́mbolo inicial de la pila.
Autómatas de Pila 2

6. T ⊆ Q conjunto de estados finales.


7. 4 es la función de transición tal que:

4 : Q × (Σ ∪ {}) × Γ → (Q × Γ∗)

Observación 1

1. En un momento, la unidad de control del autómata esca-


nea un sı́mbolo a sobre la cinta de entrada y el sı́mbolo s
en el tope de la pila.

4(q, a, s) = (q 0, γ)
Este paso computacional representa: La unidad de control
pasa a q 0 y se mueve a la derecha en la cinta de entrada,
borra el sı́mbolo s del tope, escribe la cadena γ y pasa a
escanear el nuevo tope.
Autómatas de Pila 3

Definición 2
Casos especiales de transiciones.
1. 4(q, a, s) = (q 0, s). El contenido de la pila no se altera.
2. 4(q, a, s) = (q 0, ) el sı́mbolo s en el tope de la pila se
borra, y el control finito pasa a escanear el nuevo tope de
la pila, que es el sı́mbolo colocado inmediatamente debajo
de s.
3. 4(q, , s) = (q 0, γ) Ésta es una transición  o transición
espontánea. El sı́mbolo sobre la cinta no se procesa y la
unidad de control no se mueve a la derecha, pero el tope
s de la pila es reemplazado por la cadena γ.

Observación 2
a) Para garantizar el determinismo,
4(q, a, s) y 4(q, , s) con a ∈ Σ, q ∈ Q y s ∈ Γ
no pueden estar simultáneamente definidos ( de lo
Autómatas de Pila 4

contrario el autómata tendrı́a una opción no determi-


nista).
b) Las transiciones  en un AFPD permiten que el autóma-
ta cambie el contenido de la pila, sin procesar (o con-
sumir) sı́mbolos sobre la cinta de entrada.
c) En el modelo AFDP se permite que la transición
4(q, a, s) no este definida, para algunos valores q ∈
Q, a ∈ Σ, s ∈ Γ.
d ) El determinismo se da cuando no hay alternativas de
movimiento para el mismo estado, usando la misma
entrada y el mismo sı́mbolo de pila.
e) La definición de la función de transición 4 requiere
que haya por lo menos un sı́mbolo en la pila. No hay
cómputos con la pila vacı́a.

Lenguaje aceptado por un AP


Existen dos criterios para determinar el lenguaje aceptado por
un AP:
1. Sea P = (Q, Σ, Γ, 4, q0, T, Z) un autómata de pila, en-
tonces L(P ),el lenguaje aceptado por un P por estado
final, es:
L(P ) = {w ∈ Σ∗ : (q0, w, Z) `∗ (p, , β)}
donde, p ∈ T, β ∈ Γ∗

El contenido de la pila es irrelevante.


Autómatas de Pila 5

(q0, w, Z): configuración inicial.


(p, , β): configuración de aceptación.
2. Sea la sextupla P = (Q, Σ, Γ, 4, q0, Z) un autómata de
pila, entonces N (P ),el lenguaje aceptado por un P por
pila nula o pila vacı́a:
N (P ) = {w ∈ Σ∗ : (q0, w, Z) `∗ (p, , )}
donde, p ∈ Q

N(P) es el conjunto de entradas w que P puede


consumir, vaciando al mismo tiempo su pila.

Ejemplo 1

Sea L = {aibi : i ≥ 1} sobre Σ = {a, b}.

Solución: La idea es copiar las aes en la pila y borrar una


a por cada b que sea leı́da en la cinta. Una cadena es acepta-
da si es procesada completamente y en la pila sólo queda el
marcador en el fondo Z.
4(q0, a, Z) = (q0, AZ)
4(q0, a, A) = (q0, AA)
4(q0, b, A) = (q1, )
4(q1, b, A) = (q1, )
4(q1, , Z) = (q2, Z)
Autómatas de Pila 6

Sea w = aabb veamos el procesamiento de la cadena:


(q0, aabb, Z) ` (q0, abb, AZ) ` (q0, bb, AAZ)
` (q1, b, AZ) ` (q1, , Z)
` (q2, , Z)
La última es una configuración de aceptación por tanto w es
acepatada.

Sea w = aabbb
(q0, aabbb, Z) ` (q0, abbb, AZ) ` (q0, bbb, AAZ)
` (q1, bb, AZ) ` (q1, b, Z)
` (q2, b, Z)
La cadena no se ha proceado completamente y 4(q2, b, Z) no
es una configuración de aceptación, por tanto w no es acep-
tada.
La última transición realizada:

(q1, b, Z) ` (q1, b, Z) ` (q2, b, Z)

Si en el AP está la transición (q1, , Z) y la transición (q1, b, Z)


el autómata no serı́a determinista, además por que si estuvie-
ra se podrı́a tener una solución no determinista.
Autómatas de Pila 7

Sea w = aaabb
(q0, aaabb, Z) ` (q0, aabb, AZ) ` (q0, abb, AAZ)
` (q0, bb, AAAZ) ` (q1, b, AAZ)
` (q1, , AZ)
A pesar que la cadena se proceso completamente (q1, , AZ)
no es una configuración de aceptación, por tanto w no es acep-
tada.

Podemos construir el mismo AFDP pero por vaciado de pila


de manera fácil, en vez de la transición 4(q1, , Z) = (q2, Z),
usamos 4(q1, , Z) = (q2, ).
4(q0, a, Z) = (q0, AZ)
4(q0, a, A) = (q0, AA)
4(q0, b, A) = (q1, )
4(q1, b, A) = (q1, )
4(q1, , Z) = (q2, )
Autómatas de Pila 8

Sea w = aabb veamos el procesamiento de la cadena:


(q0, aabb, Z) ` (q0, abb, AZ) ` (q0, bb, AAZ)
` (q1, b, AZ) ` (q1, , Z)
` (q2, , )
se procesa la palabra por completo y se vacı́a la pila.
Ejemplo 2
Podemos construir un AFPD que reconozca:
L = {xny m : n, m ≥ 0, n ≥ m}

4(q0, , Z) = (q1, Z)
4(q1, x, ) = (q1, x)
4(q1, y, x) = (q2, )
4(q2, y, x) = (q2, )
4(q2, , Z) = (q3, Z)
Sea w = xxx
(q0, xxx, Z) ` (q1, xxx, Z) ` (q1, xx, xZ)
` (q1, x, xxZ) ` (q1, , xxxZ)
La pila quedó llena xxxZ y el autómata en el estado q1 re-
conció por completo la cadena.
Autómatas de Pila 9

Sea w = xxy
(q0, xxy, Z) ` (q1, xxy, Z) ` (q1, xy, xZ)
` (q1, y, xxZ) ` (q2, , xZ)
Aunque la pila no quedo del todo vacı́a (quedó xZ) se reco-
noció toda la cadena completa y el autómata quedó en un
estado de aceptación q2.

Sea w = xxyy
(q0, xxyy, Z) ` (q1, xxyy, Z) ` (q1, xyy, xZ)
` (q1, yy, xxZ) ` (q2, y, xZ) ` (q2, , Z)
` (q3, , Z)
La cadena es procesada por completo, en la pila queda el
sı́mbolo inicial de pila y por tanto la cadena es aceptada.

Sea w = xyy
(q0, xyy, Z) ` (q1, xyy, Z) ` (q1, yy, xZ)
` (q2, y, Z)
A pesar de que se está en un estado de aceptación la cadena no
se terminó de escanear, la transición (q2, y, Z) no esta definida
en este autómata. Por tanto la cadena no es reconocida por
el autómata.
Observación 3
El lenguaje:
L = {wwI | w ∈ {a, b}∗}
Autómatas de Pila 10

es un LIC que no puede ser reconocido por ningún AFDP.

El problema es que cuando se cuando se está leyendo la cade-


na sı́mbolo a sı́mbolo no se sabe cuando está en la mitad de
la cadena y cuando hay que pasar de meter sı́mbolos a sacar.
Ejemplo 3
El AFDP que acepta el lenguaje:
L = {wcwI : w ∈ {a, b}∗}
La GIC es:
S → SaS | SbS | c
Son varias ideas:
1. Cuando hay una a en la cinta de entrada y una B en el
tope de la pila, el autómata ya escaneo una b, por tanto
se debe colocar en la pila AB para poder escanear ab
despúes de la c. Similarmente pasa cuando b está en la
cinta y en el tope de la pila está A.
2. Cuando el autómata recorre toda la cadena de la parte
izquierda al pasar por c deja la pila como está y cambia
de estado.
Autómatas de Pila 11

4(q0, a, Z) = (q0, AZ)


4(q0, b, Z) = (q0, BZ)
4(q0, c, Z) = (q2, Z)(acepta la cadena c)
4(q0, a, A) = (q0, AA)
4(q0, b, B) = (q0, BB)
4(q0, a, B) = (q0, AB)
4(q0, b, A) = (q0, BA)
4(q0, c, A) = (q1, A)
4(q0, c, B) = (q1, B)
4(q1, a, A) = (q1, )
4(q1, b, B) = (q1, )
4(q1, , Z) = (q2, Z)
Autómatas de Pila 12

Definición 3
Un lenguaje L se dice que es independiente de contexto
determinista si y sólo si es aceptado por un autómata
de pila determinista por el criterio de estados finales.

Teorema 1
Si L es un lenguaje aceptado por un AFPD P por el
criterio de pila vacı́a, entonces existe otro AFPD
P 0 que acepta el lenguaje por el criterio de estados
finales.
Observación 4
El resultado inverso no es cierto, hay lenguajes que son acep-
tados por AFPD por el criterio de estado final que no pueden
ser aceptados por el criterio de pila vacı́a.
Ejemplo 4
Sea el siguiente AFPD sobre Σ = {a, b} que reconoce el mis-
mo número de aes que de bes, T = {q1}.
4(q0, a, A) = (q0, AA)
4(q0, b, B) = (q0, BB)
4(q0, a, B) = (q0, )
4(q0, b, A) = (q0, )
4(q0, , Z) = (q1, Z)
4(q1, a, Z) = (q0, AZ)
4(q1, b, Z) = (q0, BZ)
Autómatas de Pila 13

Este AFDP no se puede construir por el criterio de pila vacı́a,


si este autómata lo convertimos al criterio de pila vacı́a no
reconocerı́a cadenas como, w = aabbab, sólo reconocerı́a hasta
aabb y quedarı́a la pila vacı́a.
Autómatas de Pila 14

Sea w = aabbab
(q0, aabbab, Z) ` (q1, aabbab, ) ` (q0, abbab, A)
` (q0, bbab, AA) ` (q0, bab, A)
` (q0, ab, )
la pila se quedarı́a vacı́a y no podrı́a seguir funcionando, por
tanto no reconoe w = aabbab
Teorema 2
Si L es un lenguaje regular, entonces L = L(P )
para algún AFDP.

Un AFDP puede simular un AFD, el AFDP introduce algún


sı́mbolo Z en su pila por que debe tenerla, pero la ignora y
sólo ve el estado. Formalmente sea:
M = (Q, Σ, q0, δM , T ) un AFD
Construimos
P = (Q, Σ, q0, {Z}, δP , q0, Z, T ) un AFD
donde Γ = Z, definiendo δP (q, a, Z) = {(p, Z)} para todos
los estados p y q en Q, tales que δM (q, a) = p, entonces
decimos que:
(q0, w, Z) `P (p, , Z) si y sólo siδM (q, a) = p
Es decir, P simula M usando su estado.
Observación 5
Puesto que M y P aceptan terminando en uno de los estados
de T , concluimos que sus lenguajes son idénticos.
Autómatas de Pila 15

Observación 6
Si queremos que un AFDP acepte por pila vacı́a. Su capacidad
de reconocimiento de lenguajes resulta bastante limitada.
Definición 4
Un lenguaje L se dice que tiene la propiedad del prefijo
si no hay dos cadenas diferentes x, y ∈ L tales que x es un
prefijo de y.
Ejemplo 5
El lenguaje {wcwI } tiene la propiedad del prefijo, es decir no
es posible que existan dos cadenas wcwI y xcxI , una de las
cuales es prefijo de la otra, a menos que sea la misma cadena.

Ejemplo 6
El lenguaje {0∗} no tiene la propiedad del prefijo, existen
pares de cadenas en este lenguaje una de las cuales es prefijo
de la otra.
Teorema 3
Un lenguaje L es N (P ) para algún AFDP P si y sólo
si L tiene la propiedad del prefijo y L es L(P 0)
para algún AFDP P 0.
Observación 7
Si tenenemos un lenguaje L, independiente del contexto
determinista que no cumple la propiedad del prefijo es
fácil transformarlo en otro lenguaje similar que cumple la
propiedad del prefijo y puede ser aceptado por un autóma-
ta con pila determinista por el criterio de pila vacı́a.
Autómatas de Pila 16

Basta con considerar un sı́mbolo $ ∈


/ L y entonces el
lenguaje viene dado por:
L{$} = {x$ : x ∈ L}
$ es un sı́mbolo de fin de palabra.

Observación 8

Un lenguaje L puede ser aceptado por un autómata con pila


determinista por el criterio de pila vacı́a si y sólo si puede ser
aceptado por un autómata de pila determinista por el criterio
de estados finales y L tiene la propiedad del prefijo.
Ejemplo 7
Sea L = {0∗} entonces podemos obtener:
L$ = {0$, 02$, 03$, . . .}
Autómatas de Pila 17

Autómatas con pila no- deterministas (AFPN

Definición 5

1. Un autómata finito con pila no determinista (AFPN)


consta de los mismos parámetros de un AFPD,
P = (Q, Σ, Γ, 4, q0, T, Z)
donde la función de transición 4 es de la forma:

4 : Q × (Σ ∪ {}) × Γ → Pf (Q × Γ∗)

donde Pf (Q × Γ∗) es un conjunto de subconjuntos finitos


de Q × Γ∗.
2. Para q ∈ Q, a ∈ Σ ∪ {} y s ∈ Γ
4(q, a, s) = {(q1, γ1), (q2, γ2), . . . , (qn, γn)}
Donde γi ∈ Γ∗

Observación 9

A diferencia de los AFDP, en los AFPN las transiciones ,


4(q, , s) no tiene restricción alguna.
Ejemplo 8
Autómatas de Pila 18

Diseñar un AFPN que acepte el lenguaje {aibi : i ≥ 0} sobre


Σ = {a, b}.
4(q0, a, Z) = (q0, AZ)
4(q0, , Z) = (q2, Z)(acepta )
4(q0, a, A) = (q0, AA)
4(q0, b, A) = (q1, )
4(q1, b, A) = (q1, )
4(q1, , Z) = (q2, Z)

El no determinismo se da por la presencia simultánea de:


4(q0, a, Z) y 4(q0, , Z)

Podemos construir un AFPN por el criterio de pila vacı́a:


1. Quitamos la transición 4(q0, , Z) = (q2, Z).
2. Agregamos la transición 4(q0, , Z) = (q1, Z).
3. Hacemos un cambio en la transición 4(q1, , Z) = (q2, Z)
por 4(q1, , Z) = (q2, )
Autómatas de Pila 19

La cadena vacı́a se reconoce con las siguientes transiciones:


(q0, , Z) ` (q1, , Z) ` (q2, , )

Sea w = aabb
(q0, aabb, Z) ` (q0, abb, AZ) ` (q0, bb, AAZ)
` (q1, b, AZ) ` (q1, , Z)
` (q2, , )

Ejemplo 9
Se puede construir un AFPN que reconozca:
{wwR : w ∈ Σ∗}
para Σ = {a, b}

El no determinismo se usa para permitirle al autómata adivi-


nar cuál es la mitad de la cadena de entrada.
1. Si acierta, procede a comparar el resto de la cadena de
entrada con los sı́mbolos acumulados en la pila.
2. Si no acierta el autómata seguirá acumulando sı́mbolos
en la pila y no habrá aceptación.
Autómatas de Pila 20

4(q0, a, Z) = (q0, AZ)


4(q0, b, Z) = (q0, BZ)
4(q0, , Z) = (q2, Z)(acepta )
4(q0, a, A) = {(q0, AA), (q1, )}
4(q0, b, B) = {(q0, BB), (q1, )}
4(q0, a, B) = (q0, AB)
4(q0, b, A) = (q0, BA)
4(q1, a, A) = (q1, )
4(q1, b, B) = (q1, )
4(q1, , Z) = (q2, Z)
Autómatas de Pila 21

Autómatas con pila y LIC

Teorema 4
Si L = L(P ) para algún autómata con pila AFPN P ,
entonces L = N (P 0) para algún AFPN P 0. Es decir,
P 0 acepta por pila vacı́a lo que P acepta por estado
final.

Demostración:
Sea P = (Q, Σ, Γ, 4, q0, T, Z), P 0 se diseña modificando P
de tal manera que vacı́e su pila cuando P haya aceptado una
cadena de entrada.
P 0 = {Q ∪ {p0, p}, p0, Σ, Γ ∪ {Z0}, Z0, δ}
1) Se añaden p0 estado inicial y p.
2) También se añade Z0 es el nuevo sı́mbolo de pila.
3)Se mantienen todas las transiciones de P y se añaden las
siguientes:
δ(p0, , Z0) = {(q0, ZZ0}
δ(q, , Y ) = {(p, Y }, ∀q ∈ T, Y ∈ Γ ∪ {Z0}
δ(p, , Y ) = {(p, Y }, ∀Y ∈ Γ ∪ {Z0}
Ejemplo 10
Sea el AFNP por el criterio de estado final que reconoce todas
las cadenas sobre Σ = {a, b} que tienen igual número de aes
Autómatas de Pila 22

que de bes, T = {q1}.


4(q0, a, Z) = (q0, AZ)
4(q0, b, A) = (q0, BZ)
4(q0, a, A) = (q0, AA)
4(q0, b, B) = (q0, BB)
4(q0, a, B) = (q0, )
4(q0, b, A) = (q0, )
4(q0, , Z) = (q1, Z)

Se podrı́a de manera intuitiva la transformación del


AF P N ({L(P )}) → AF P N ({N (P )})
Autómatas de Pila 23

La transformación

AF P N ({L(P )}) → AF P N ({N (P )})


se puede realizar de manera más rigurosa:

1) Agregamos p0, p y Z0
2) Las mismas transiciones de P
4(p0, , Z0) = (q0, ZZ0)
4(q0, a, Z) = (q0, AZ)
4(q0, b, B) = (q0, BZ)
4(q0, a, A) = (q0, AA)
4(q0, b, B) = (q0, BB)
4(q0, a, B) = (q0, )
4(q0, b, A) = (q0, )
4(q0, , Z) = (q1, Z)
4(q1, , a) = (p, a)
4(q1, , b) = (p, b)
4(q1, , Z) = (p, Z)
4(q1, , Z0) = (p, Z0)
4(p, , a) = (p, )
4(p, , b) = (p, )
4(p, , Z) = (p, )
4(p, , Z0) = (p, )
Autómatas de Pila 24

(p0, abab, Z0) = (q0, abab, ZZ0)


= (q0, bab, AZZ0)
= (q0, ab, ZZ0)
= (q0, b, AZZ0)
= (q0, , ZZ0)
= (q1, , ZZ0)
= (p, , ZZ0)
= (p, , Z0)
= (p, , )

(p0, abb, Z0) = (q0, abb, ZZ0)


= (q0, bb, AZZ0)
= (q0, b, ZZ0)
= (q0, , BZZ0)
Como se leyo toda la cadena y la pila no quedó vacı́a, por
tanto abb no es reconocida por el autómata de pila.
Teorema 5
Si L = N (P ) para algún autómata de pila AFPN P ,
entonces L = L(P 0) para algún AFPN P 0. Es decir,
P 0 ecepta por estado final lo que P acepta por pila
vacı́a.

Demostración.

Sea
P = (Q, Σ, Γ, 4, q0, Z)
Autómatas de Pila 25

entonces el autómata
P 0 = (Q ∪ {p0, qf }, Σ, Γ ∪ {Z0}, p0, Z0, {qf }, δ)
Se construye a partir de P siguiendo los siguientes pasos:

1) Se añaden dos nuevos estados p0 y qf .


2) Se añade tambien a Γ, {Z0}, este será el sı́mbolo inicial de
la pila.
3) Se mantienen todas las transiciones de P , añadiendo las
siguientes transiciones:
δ(p0, , Z0) = {(q0, ZZ0}
δ(q, , Z0) = {(qf , Z0}, ∀q ∈ Q

GIC y autómatas de Pila

Los lenguajes aceptados por los AFPN son exactamente los


lenguajes independientes de contexto.
Teorema 6
Autómatas de Pila 26

Dada una GIC G, existe un AFPN P tal que L(G) =


L(P ).

Demostración. Para una gramática


G = (N, Σ, S, Pr ) se construye un AFPN que utliza la pila
para simular la derivación de cadenas realizadas por G.

P requiere de sólo tres estados, independiente del número de


variables y producciones de G.
P = (Q, Σ, Γ, T, q0, Z, 4)
Q = {q0, q1, q2}, T = {q2} y Γ = Σ ∪ N ∪ {Z}
La función de transición 4 se define ası́:
1. 4(q0, , Z) = {(q1, SZ)} Transición  en la cual P co-
loca a S en el tope de la pila para iniciar el proceso de
reconocimiento de la cadena.
2. Para cada A ∈ N
4(q1, , A) = {(q1, u)}
A → u es una producción de la gramática G

Mediante estas transiciones se simulan las derivaciones, si


en el tope de la pila está A y en la derivación está A → u,
el tope de la pila A se sustituye por u.
3. Para cada a ∈ Σ
4(q1, a, a) = {(q1, )}
P borra los terminales del tope al consumirlos sobre la
cinta de entrada.
Autómatas de Pila 27

4.
4(q1, , Z) = {(q2, Z)}
P ingresa al estado de aceptación q2 cuando detecta el
marcador de fondo Z.

Ejemplo 11

Sea G una gramática independiente del contexto cuyas


producciones son:
S → aSa | bSb | c
Esta gramática reconoce:
L(G) = {wcwI | w ∈ {a, b}∗}
Entonces el autómata de pila que reconoce esta gramática
es la siguiente:
4(q0, , Z) = {(q1, SZ)}
4(q1, , S) = {(q1, aSa), (q1, bSb), (q1, c)}
4(q1, a, a) = 4(q1, b, b) = 4(q1, c, c) = {(q1, )}
4(q1, , Z) = (q2, )
Autómatas de Pila 28

Sea w = abbcbba
(q0, abbcbba, Z) = (q1, abbcbba, SZ)
= (q1, abbcbba, aSaZ)
= (q1, bbcbba, SaZ)
= (q1, bbcbba, bSbaZ)
= (q1, bcbba, SbaZ)
= (q1, bcbba, bSbbaZ)
= (q1, cbba, SbbaZ)
= (q1, cbba, cbbaZ)
= (q1, bba, bbaZ)
= (q1, ba, baZ)
= (q1, a, aZ)
= (q1, , Z)
= (q2, , )

Definición 6

Sea la gramática G = (N, Σ, S, Pr ) en la FNG se puede cons-


truir un AFPN tal que L(G) = N (P ).
P = (Q, Σ, Γ, q0, Z, 4)
donde la función de transición 4 se define como sigue:
A → aZ, a ∈ Σ, A ∈ N, Z ∈ N ∗, entonces 4(q, a, A) =
{(q, Z)}
S → , entonces 4(q, , S) = {(q, )}

Ejemplo 12
Autómatas de Pila 29

Sea la gramática G que reconoce el lenguaje, podemos obtener


un AFPN tal que L(G) = N (P ).
L = {xny mz k | n, m ≥ 0 : k = n + m}

S → xAz | yBz | 
A → xAz | B | 
B → yBz | 
Sea C = z y reemplazamos:
S → xAC | yBC | 
A → xAC | B | 
B → yBC | 
C → z
Quitamos la regla de redenominación para obtener la FNG de
A
S → xAC | yBC | 
A → xAC | yBC | 
B → yBC | 
C → z
Autómatas de Pila 30

Construimos el AFPN
4(q, x, S) = {(q, AC)}
4(q, y, S) = {(q, BC)}
4(q, , S) = {(q, )}
4(q, x, A) = {(q, AC)}
4(q, y, A) = {(q, BC)}
4(q, , A) = {(q, )}
4(q, y, B) = {(q, BC)}
4(q, , B) = {(q, )}
4(q, z, C) = {(q, )}
Sea w = xxyzzz
(q, xxyzzz, S) ` (q, xyzzz, AC) ` (q, yzzz, ACC)
` (q, zzz, BCCC) ` (q, zzz, CCC)
` (q, , )
Por tanto w es reconocida

Sea w = xxyzz
(q, xxyzz, S) ` (q, xyzz, AC) ` (q, yzz, ACC)
` (q, zz, BCCC) ` (q, zz, CCC)
` (q, , C)
Se leyó la cadena por completo pero la pila no quedó vacı́a,
por tanto w no es reconocida.