Professional Documents
Culture Documents
LENGUAJES
TEORIA DE
GRAMATICA
Una gramática G es una estructura
4-truple
G(VN , VT, S, P)
= C1 U C2 U … U Cn
C1 = abb<A>
C2 = bbcc<A><B>
C = C1 U C2 C = abb<A> bbcc<A><B>
LONGITUD DE UNA CADENA
Es el número de símbolos que componen una cadena.ICI=10
CLASIFICACION DE LA GRAMATICA SEGÚN NOAM
CHOMBYK(1928-filadelfia)
TIPO GRAMATICA REGLAS
<predicado> <verbo><adverbio>
<articulo> <el>
<adjetivo> <decepcionado>
<verbo> <toma>
<adverbio> <mucho>
ARBOL:
<el>
T1 GRAMATICA SENSIBLE AL CONTEXTO
P:
ab cd
b
A B
a b
T
T3 G: REGULAR DE KLENNE
P:
<S> a<A>
<S> b<A>
<A> a<B>
B
Estado de T
Atrapamiento
b
DERIVACIÓN : Definición
Es una serie de sustituciones de símbolos no terminales de una sstn, aplicando las reglas de
producción de una gramática dada o generada.
Ej.: Dada las reglas de producción derivar usando las reglas: 122344455677
P:
<S> <A>
<A> a<A><B><C>
<A> ab<C>
<S> <A> c
b <S> <A> c
b Є
b b b c c c
FISI- Huapaya, Mayor, Valdiviezo,Villar
LENGUAJE
FORMAL
Es el conjunto de secuencias de símbolos
terminales( sst ) del Alfabeto.
LENGUAJE GENERADO POR UNA
GRAMÁTICA : L(G)
Definición.- Dado una gramática G, el L(G) es el conjunto de secuencias de
símbolos terminales que pueden ser derivados a partir del símbolo inicial
<S> ; L(G)={x/x ε Vt* y <S> ===>* x }
1. L(G)= {an b / n>0}
a/1
a/0
q1
q0
b/0
T a/0 b/0
q2
b/0
LENGUAJE GENERADO POR UNA
GRAMÁTICA
2.- L(G)={an b/n≥0}
Є b
P: ab
<S> <A><B> aab
3.- L(G)={(ab)+} ab
aab
P:
aaab
<S> a<A> aaa..ab
<A> a<A> abb
<A> b<B> abbb
abbb…b
<B> b<B> aaabbb
<B> Є
GRAMÁTICA Vs MAQUINA
a/0
a/0
S
A
b/0
b/1
a/0
q0 a/0
A
b/0
b/1
T a/0 q2
b/1
LENGUAJE GENERADO POR UNA
GRAMÁTICA
4.- L(G)={amban/m>0, n>0}
P:
a/0
a/0
q0 a/0
q1
b/0
b/0
b/0
T a/0 q2
a/0
LENGUAJE GENERADO POR UNA
GRAMÁTICA
Ejercicios:
L(G)={1* 0*}
L(G)={anbn/n≥ 0}
L(G)={a2na3n/n>0}
L(G)={ambncmdn/m>0, n>0}
GRAMÁTICA AMBIGUA
Cuando la gramática contiene una secuencia de símbolos terminales con
mas de un árbol de derivación.
<S>
Ejemplo (1 2 5 4 5) ( 1 3 2 5 5 )
P:
a <A> <B>
a <A> <B>
<B>
a <B>
b
a
a
aaaba
ANÁLISIS SINTÁCTICO
Es aquel que reconoce, si una secuencia de símbolos
terminales (sst) pertenece o no al lenguaje generado por
¿ cbaaa Є L(G) ?
ANÁLISIS SINTÁCTICO
baaa
c cbaaa
<A>
<S> <A>
<B>
<B>
baaa aaa
b
<B> a aaa aa
a a a
<B> <B> <B>
aa
a
a a
<B>
<B> <B>
<B> a Є
cbaaa Є L(G)
CONSTRUCCIÓN DEL ANÁLISIS SINTÁCTICO
–diag. De Conway
R1. La Producción β1
β2
β3
S.r. β1 / β2 / β3
S.r.
R6. Una Producción S.r.
{β} β
CONSTRUCCIÓN DEL ANÁLISIS SINTÁCTICO
REGLAS
Ej.: P:
<A> x/(<B>)
<B> <A><C>
<C> {+<A>}
( β2 )
2.-
B A C
3.- C
β +
En general
A x
( A )
A +
CONSTRUCCIÓN DEL ANÁLISIS
SINTÁCTICO REGLAS
Ejercicios:
<A> <B><F><C>
<F> {+x}
<B> <D><G><E>
<G> {*y}
MÁQUINA DE ESTADO FINITO
DETERMINISTICO (MEFD)
Es una máquina de estructura algebraica abstracta de memoria
interna primitiva que permite simular el comportamiento de una
maquina real
f: Q*E Q g: Q*E S
f(q0, a) = q0 g(q0, a) = 0 q0/0
f(q0, b) = q1 g(q0, b) = 1 q1/1
f(q1, a) = q2 g(q1, a) = 0 q2/0
f(q1, b) = q1 g(q1, b) = 0 q1/0
f(q2, a) = q2 g(q2, a) = 1 q2/1
f(q2, b) = q0 g(q2, b) = 0 q0/0
MÁQUINA DE ESTADO FINITO
DETERMINISTICO (MEFD)
A) MÁQUINA DE MOORE
q0 q1
a/0
b/0 q2
a/1
MÁQUINA DE ESTADO FINITO
DETERMINISTICO (MEFD)
a
A. MÁQUINA DE MEALY
b
a b
q2/0
a b
q0/0
a q1/0
b
q1 /1 b
MAQUINA DE MOORE
A. DIAGRAMA DE FLUJO
INICIO
Z= 1 Z=0
q1
b a
P
Z=0 Z=1
q2
b a
P
Z=0 Z =1
TABLA DE SECUENCIA DE ESTADOS
A. Dada la cadena de
Entradas X= abaabba
Encontrar la cadena de salida Z=?
Instante t 0 1 2 3 4 5 6 7
Estado q0 q0 q1 q2 q2 q0 q1 q2
actual
Entrada X a b a a b b a
Estado q0 q1 q2 q2 q0 q1 q2
Siguiente
Salida Z 0 1 0 1 0 1 0
MÁQUINA DE ESTADO FINITO
DETERMINISTICO (MEFD)
TABLA DE TRANSICIÓN Maquina de Moore
b/0 a/1
Q E a b
q0 q1/1 q0/0 q0 q1
b/0
q1 q2/1 q0/0
a q4
b
b c
a b
q0 q1 b
a q2
c c
a
a b c a
c b
q5
q3
MÁQUINA DE ESTADO FINITO NO
DETERMINISTICO (MEFND)
a/0
a/1 q2
q1
MÁQUINA DE ESTADO FINITO NO
DETERMINISTICO (MEFND)
a
Ej.: a
a b c
q0 q1 q2
Q E a b C
q0 {q0 , q2} {q1} {q3}
q1 {q0, q2} {q3} {q1}
q2 {q1, q2} {q3} {q0}
q3 {q3 } {q1} {q2}
DISEÑO DE UNA MAQUINA
Diseñe una máquina de 3 estados que produzca salida 1
cuando compare desigualdades de dos 2 números
binarios con los símbolos =, >, <
Comp 00 01 10 11 Q E 00 01 10 11
= = < > = q0 q0/0 q2/1 q1/1 q0/0
> > < > = q1 q1/1 q2/1 q1/1 q0/0
< < < > = q2 q2/1 q2/1 q1/1 q0/0
DISEÑO DE UNA MAQUINA
11/0
10/1
01/1
01/1
q3
01/1
00/1
DISEÑO DE UNA MAQUINA
Diseñe una máquina de 4 estados que al recibir un valor de
3 lo reconozca y produce salida 1. La persona puede
*/+
OP 1 2 3
0 1 2 s 3
1 2 s 3 s 1
2 s 3 s 1 s 2
3 s 1 s 2 s 3
DISEÑO DE UNA MAQUINA
Q E 1 2 3
Tabla de Transición:
q0 q1/0 q2/0 q3/1
q1 q2/0 q3/1 q1/1
2/0
3/1 3/1
q0 1/0 1/0
q1 q2
1/1
2/1 1/1
3/1 2/1
q3 1/1
a
DISEÑO DE UNA MAQUINA
Diseñe una máquina de 2 estados que produzca salida 1
siempre que la cadena de ‘unos’ sean pares y produzca
0/1 0/0
1/0
q1 q2
1/0
0/0 1/0 0/0
q1
q0 1/1 q2
0/0
0010101010
101000101
111101111
DISEÑO DE UNA MAQUINA
MAQUINA EXPENDEDORA DE CARAMELOS