Sei sulla pagina 1di 3

Universidad Privada Antenor Orrego

Ing. de Computacin y Sistemas

AUTOMATAS Y COMPILADORES

GRAMATICAS
1. Describir los lenguajes que generan las siguientes gramticas
descritas mediante sus producciones y considerando que S es el
smbolo inicial en cada una de ellas:
a)
b)
c)
d)

S
S
S
S

aA | , A bS
Aa, A B, B Aa
ABC , A aA | , B bB | , C cC |
aS | bT, T aa

2. Dadas las siguientes gramticas:


a)
b)
c)
d)
e)

S Aa | bA | a | b , A Aa | a
S aA | bB | , A aB | a , B bA | b
S AS | , A aA | a, aaaA ba
S Ba | a , Sa Bb , Sb , B bS | BB | b
S abc | aAbc , Ab bAb , Ac Bbcc , bB bBb , aB aa |
aaA

Determinar a qu clase pertenecen dentro de la jerarqua de


Chomsky.
3. Disear gramticas para los siguientes lenguajes:
a) Cadenas de 0 y 1 que terminan con 00.
P = { X Y 0 0, Y | 0 Y | 1 Y }
Ga = ({X,Y}, {0,1}, X, P)
b) Cadenas de 0s y 1s en donde 011 aparece como subcadena.
P = { A B 0 1 1 B, B | 0 B | 1 B }
Gb = ({A,B}, {0,1}, A, P)
c) Cadenas de 0s y 1s, de tal forma que justo antes de cada 0
vaya por lo menos un 1.
P = { Q | C Q | 1 Q, C U 0, U 1 | 1 U }
Gc = ({Q,C,U}, {0,1}, Q, P)
d) Cadenas de 0 y 1 en las cuales los 0, si aparecen, lo hacen
en grupos de tres.
B|000B|1B
e) Conjunto de cadenas (sa, sasa, sasasa,).
Xsa|saX
4. Escribir una gramtica formal para cada uno de los siguientes
lenguajes:
a) Nmeros mltiplos de 5 mayores o iguales que 100
P={
MDRU
D1|2|3|4|5|6|7|8|9
R0|D|0R|DR
U0|5

-1-

Universidad Privada Antenor Orrego


Ing. de Computacin y Sistemas

AUTOMATAS Y COMPILADORES

}
Ga = ({M,D,R,U}, {0,1,2,,9}, M, P)
b) Identificadores del lenguaje C: [a-zA-Z][0-9a-zA-Z_]*
SLR
La|b||z|A|B||Z
R|LR|DR|_R
D0|1|2|3|4|5|6|7|8|9
c) -?0x[0-9A-F]+
d) 10*
e) ab+|c*
5. Construir gramticas sobre = {a, b} que generen los lenguajes
cuyo conjunto de cadenas sean:
a)
b)
c)
d)
e)

L
L
L
L
L

=
=
=
=
=

{abna | n 1}
{an+2bn | n 0}
{anbm | n 0,m > n}
{anbn+1 | n0}
{ambn / mn0}

-2-

Universidad Privada Antenor Orrego


Ing. de Computacin y Sistemas

AUTOMATAS Y COMPILADORES

EJERCICIOS PROPUESTOS
6. Comprueba que las siguientes gramticas generan los lenguajes
que se indican:
a) G1 = ({S, A}, {0, 1}, P1, S) donde P1 = {S 1B | 1, B 0S }
b) G2 =({S, A}, {a, b}, P2, S) donde P2 = { S bA, A aaA | b |
}
7. Describir los lenguajes que generan las siguientes gramticas
descritas mediante sus producciones y considerando que S es el
smbolo inicial en cada una de ellas:
a)
b)
c)
d)

S
S
S
S

aSb | ab
aSbb |
bA, A aaA | b |
SS | aSb | bSa |

8. Dadas las siguientes gramticas:


a)
b)
c)
d)

S
S
S
S

a | b | c | Sa | Sb | Sc | S0 | S1
A | , A aAb | ab
A | , A aA | Ab | a | b
A | , A AaA | a

Determinar a qu clase pertenecen dentro de la jerarqua de


Chomsky.
9. Construir gramticas que generen los lenguajes cuyo conjunto de
cadenas sean:
a)
b)
c)
d)
e)
f)
g)
h)
i)

L = {anbn3 | n 3}
L = {w / w{a,b}* |w| mod 3 = 0 }
L = {w / w{a,b}* |w| mod 3 > 0}
L = {w | w{a,b}* na(w) y nb(w) son pares }
L = { 01n | n 0}
L = { 0m1n | m, n 0}
L = { (01)m2(10)n | m, n 0}
L = { anb2mc2+1 | m, n, 1}
L = Lenguaje de los nmeros reales escritos con notacin
cientfica, como por ejemplo: 3.407e+9, 1000.1e-10,
19.00022E10.

-3-

Potrebbero piacerti anche