Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Authomat
Authomat
Captulo 1. Introduccin.
Ejemplos:
={ab}; a::=bb
v=aabbaa
w1=bbabbaa
w2=aabbaa
Para que wi se verifica v
wi?
w3=bbbbbbaa
w4=aabbab
v=a
w=bb
: vw
si x::=y, entonces se verifica xy
Definicin (Produccin):
Sea un alfabeto. Una produccin, o regla de produccin, o
regla de derivacin, o regla de escritura, es un par ordenado
(x,y), tambin representado por x::=y, tal que x+ e y*.
Se llama x la cabeza o parte izquierda de la produccin, e y su
cuerpo o parte derecha.
3.1.1 Producciones
Propiedades de la derivacin
1. Reflexiva: x* : x*x
2. Transitiva: x,y,z* : si x*y e y*z, entonces x*z.
3. Simtrica: no
Ejemplos:
1. La longitud de u*u es 0.
2. ={C,N,0,1,2}
P={ N::=CN, N::=C, C::=0, C::=1, C::=2}
NCN
CNCC
CC0C
N*00 con longitud 4
0C00
{x|x
* y CCC
*x y x es irreducible}?
*
{x|x
y N
*x y x es irreducible}?
Definicin (Derivacin):
Sea un alfabeto, y P un conjunto de producciones sobre .
Sean v y w dos palabras de *. Se dice que w deriva de v, o v
produce w, o v se reduce a w, y se presenta por v*w si:
1. v=w o
2. existe una secuencia finita de derivaciones directas
u0u1
u1u2
un-1un
tales que u0=v y un=w.
<grupo_nominal> <calificativo>
...
...
El gato
pequeo
<frase_nominal>
<sujeto>
juega
...
...
<predicado> .
Ejemplo Castellano:
La sintaxis del castellano se define mediante reglas:
1. Un oracin consta de sujeto y predicado y termina con
un punto.
2. Un sujeto es una frase nominal.
3. Una frase nominal es un grupo nominal seguido de un
calificativo (que puede faltar)
4. ...
Motivacin
las
posibles
derivaciones
SAbb
SAbaAbbabb
SAbaAbb aaAbbbaabbb
...
{x|S*x y x es irreducible}={anbn+1|n>=0}
Ejemplos:
1. G1=({S,A), {a,b},S,P)
P={S::=Ab, A::=aAb, A::=}
2. G=(N, T, S, P) no es una gramtica si
SN
a: aT aN
u+ y v*
u=xAy, x,y*, AN
Ejemplos:
1. G1=({S,A), {a,b},S,P) con P={S::=Ab, A::=aAb|}
L(G1)={anbn+1|n0}
2. G2=({S,A), {a,b},S,P) con P={S::=Ab, A::=aAb}
L(G2)?
3. G3=({S,A), {a,b},S,P) con P={S::=Ab, A::=aAb|aS}
L(G3)?
4. G4=({S,A), {a,b},S,P) con P={S::=Ab, A::=ab|a}
L(G4)?
5. G5=({A,B,C,D,E,S},{a},S,P) con P={S::=ABaC, Ba::=aaB,
BC::=DC|E, aD::=Da, AD::=AB, aE::=Ea, AE::= }
L(G5)?
6. G6=({S,A), {a,b},S,P) con P={S::=Ab, A::=Aab|a}
L(G6)?
Definicin (sentencia):
Una sentencia de G es una forma sentencial x tal que xT*.
Ejemplos:
G=({S,A), {a,b},S,P)
P={S::=Ab, A::=aAb|}
No lo son: a, aaAbb
Ejemplos:
1. G1=({S},{a,b},S,{S::=aSb|ab})
G2=({A,B,C,E},{a,b},A,P) con
P={A::=aABC|abC, CB::=BC, bB::=bb, bC::=b, E::=b}
G1 y G2 son equivalentes.
Corolarios:
Ejemplos:
1. G=({S,A), {a,b},S,P) con P={S::=Ab|Sa, A::=aAb|}
recursiva en A y S; recursiva a izquierdas en S
2. G=({S,A), {a,b},S,P) con P={S::=aAb, A::=Sb|}
recursiva en A y S; no recursiva a izquierdas en S
3.1.4 Recursividad
G1
G2
G3
G3G2G1G0
de
tipo
(gramticas
sin
sin
10
3.2.2 Gramticas
restricciones)
G0
11
Ejemplos:
Cules de las siguientes reglas son de tipo 1?
AB::=aCdB;
aA::=aCBbb;
aBA::=a;
ABC::=AC;
AaBF::=AaCF
Nota:
Ejemplos:
1. De las siguientes producciones, indicar cuales cumplen el
criterio de gramticas de estructura de frases y cuales no.
aABcD::=aABD;
aAd::=ad;
aABd::=aACDEfAd
aABE::=aABeE;
CB::=BC
2. Cmo convertir CB::=BC en estructura de frases?
CB::=XB; XB::=XY; XY::=BY; BY::=BC
Ejemplos:
Cules de las siguientes reglas son de tipo 2?
AA::=b;
A::=aaB;
aBA::=a;
a::=AC;
A::=
12
Nota:
A::= es una produccin de tipo 2.
Sin embargo, se puede demostrar que todo lenguaje
generado por una gramtica de tipo 2 puede ser generado por
una gramtica cuyas producciones tienen la forma:
1. A::=v con v +, AN
2. S::= siendo S el axioma de la gramtica
(se demuestra en el captulo 10)
13
Nota:
Hay definiciones ms generales para gramticas lineales por la
derecha (izquierda) [Linz, pp. 91-...]:
Una gramtica se denomina lineal por la derecha si sus
producciones tienen las siguientes formas:
1. A::=xB
2. A::=x
, donde A,BN y xT*.
(en clase usaremos las definiciones dadas anteriormente)
Ejemplos:
1. Cules de las siguientes reglas son de tipo 3?
aA::=aaV;
A::=abV;
a::=Ba;
a::=C;
A::=
2. G=({A,B,C},{a,b},A,P) con P={A::=aB, B::=Cb, ...}
No es lineal por la derecha ni lineal por la izquierda,
pero s es una gramtica lineal.
14
Ejemplos:
1. Lenguaje representado por G1=({S,A,B},{0,1},S,P) con
P={S::=0A|1, A::=1A|1B, B::=0S}
S1
S0A01B010S0101
S0A01A011B0110S01101
S0A01A011B0110S01100A011001B
0110010S01100101
S0A*01...1A01...1B01...1B01...10S
01...101
S0A*01...1A01...1B01...1B01...10S
01...100A*01...1001...1A*01...1001...1B
01...1001...10S01...1001...101
L(G)={(01i0)j1|i1, j0}
2. Lenguaje representado por G2=({S,B},{0,1},S,P) con
P={S::=B1|1, B::=S0}
3. Lenguaje representado por G3=({S,B},{0,1},S,P) con
P={S::=1B|1, B::=0S}
Regulares
Gramtica
General
Estructura de frases
S axioma
con aT y A,BN
S axioma
con xT* y A,BN
con aT y A,BN
15
con x,y* , v+ y AN
S axioma
con v* y AN
con v+ y AN
S axioma
con xT* y A,BN
Producciones
xAy::=v
con x,y,v* y AN
xAy::=xvy con x,y,v* y AN
xAy::=xvy
S::=
General
A::=v
Normalizado
A::=v
S::=
General
A::=x
Lineal por la
A::=Bx
izquierda
A::=a
Normalizado A::=Ba
Tipo3
S::=
General
A::=x
Lineal por la
A::=xB
derecha
A::=a
Normalizado A::=aB
S::=
Lenguaje
Recursivamente
enumerable
Tipo0
(sin estricciones)
Sensibles al
Tipo1
contexto
Independientes
del contexto Tipo2
2. G2=({A,B,C},{a,b},A,P) con
16
Ejemplos:
1. G1= ( {a,b} {A,B,S}, S, { S::=AB, A::= aA | a, B::= bB|b})
y la derivacin S AB aB abB abb
=aabb
17
a a
E
E
EE*EE*i
E-E*ii-E*ii-i*i
i - i * i
18
EE-Ei-E
i-E*Ei-i*Ei-i*i
i - i * i
Ejemplo:
(Precedencia de operadores)
G1=({E},{-,*,i, (, )},E,{E::=E-E|E*E|(E)|i})
x=i+i*i
3.3.2 Ambigedad
sentencia
lenguaje
0..*
0..*
derivacin
1..*
gramtica
1..*
1
rbol de der.
19
Notas:
Definiciones (ambigedad):
E
E
i - i * i
- i * i
i
20
EE-Ti-Ti-T*Fi-F*Fi-i*Fi-i*i
F
F
T
T
i - i * i
21
Ejemplos:
22