Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
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
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
-1-
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-
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 |
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
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-