Sei sulla pagina 1di 47

TEORIA DE LENGUAJES

SEMESTRE ACADMICO 2012 0

FISI - Daniel Alfonso Quinto Pazce

DQP

GRAMATICA
Una gramtica G es una estructura 4-truple G(VN , VT, S, P) VN ={ conjunto de smbolos no terminales}
VT ={conjunto de smbolos terminales}
FISI- Daniel Alfonso Quinto Pazce

S ={Smbolo especial de inicio}


P ={conjunto de reglas de produccin} P:

secuencia de smbolos terminales y no terminales sstn)


(

VOCABULARIO
Conjunto de smbolos terminales, y no terminales para generar reglas de produccin. V= VN U VT VN VT = VN ={ <A>, <B>, <C>,.,<S>,.<Z>} VT ={a, b, c, ., z, 0, 1, +, -, *, /, cero, uno} V*=(VN U VT )* contiene cadena vaca V+={VN U VT }+ no contiene cadena vaca
FISI - Daniel Alfonso Quinto Pazce

ALFABETO
Conjunto de smbolos terminales para generar una gramtica o elementos de un lenguaje {an bm / n>0; m>0} an bm a b aaa b L(G) ={ab, aaab, abbb, aaabbb,} a bbb aaa bbb
FISI - Daniel Alfonso Quinto Pazce

CONCATENACIN DE CADENAS
A1=A0 A A2=A1 A A3=A2 A Ak=Ak-1 A A1 U A2 U A3 U U Ak = = C 1 U C2 U U C n C1 = abb<A> C2 = bbcc<A><B> C = C 1 U C2

FISI - Daniel Alfonso Quinto Pazce

=cadena

C = abb<A> bbcc<A><B>

LONGITUD DE UNA CADENA


Es el nmero de smbolos que componen una cadena.ICI=10 CLASIFICACION DE LA GRAMATICA SEGN NOAM CHOMBSKY(1928-filadelfia)
TIPO
T0

GRAMATICA
Con estructura de frase sin restricciones SENSIBLE AL CONTEXTO LIBRE DE CONTEXTO REGULAR DE KLENNE

REGLAS
<frase> <frase><frase>

FISI - Daniel Alfonso Quinto Pazce

T1

<A> <> A VN , V* , V+ <A> <> A VN , V* , <A> <B>

T2

V+

T3

a<B> a / A,B VN , a Vt

T0
P:
1.

Gramtica con estructura de frase sin Restricciones

<oracin> <sujeto><predicado> 2. <sujeto> <artculo><sustantivo><adjetivo> 3. <predicado> <verbo><adverbio> 4. <articulo> <el> 5. <sustantivo> <alumno> 6. <adjetivo> <decepcionado> 7. <verbo> <toma> 8. <adverbio> <mucho> ARBOL: <oracin> <sujeto> <articulo> <el>
<sustantivo>

FISI - Daniel Alfonso Quinto Pazce

<predicado> <adjetivo>
<decepcionado>

<verbo> <toma>

<adverbio> <mucho>

<alumno>

T1
P:
1. 2. 3. 4. 5. 6. 7.

GRAMATICA SENSIBLE AL CONTEXTO

FISI - Daniel Alfonso Quinto Pazce

<A> <B> <A> <C> <B> <A> a<A><B><C> <A> ab<C> <C><B> <B><C> b<B> bb b<C> bc c<C> cc

T2.-Gramtica libre al contexto


P:
1. 2. 3. 4. 5.

<A> ab<A><B> <A> ab<A> <B> cd<B> <A> a <B> b


ab A

FISI - Daniel Alfonso Quinto Pazce

cd
ab B

a T

T3
P:
1. 2. 3.

G: REGULAR DE KLENNE
<S> a<A> <S> b<A> <A> a<B> <A> b<B> <A> a <B> a<A> <B> b<B> <A>

FISI - Daniel Alfonso Quinto Pazce

4.
5. 6. 7. 8.

Estado de Aceptacin

A S b b a a a

Estado de Atrapamiento

B T

DERIVACIN : Definicin Es una serie de sustituciones de smbolos no terminales de una sstn, aplicando
las reglas de produccin de una gramtica dada o generada. Ej.: Dada las reglas de produccin derivar usando las reglas: 122344455677 P: 1. <S> <A> 2. <A> a<A><B><C> 3. <A> ab<C> 4. <C><B> <B><C> 5. b<B> bb 6. b<C> bc 7. c<C> cc
<S>

FISI - Daniel Alfonso Quinto Pazce

1=> <A> 2=> a<A><B><C> 2=> aa<A><B><C> <B><C> 3=> aa ab<C><B> <C> <B><C> 4=> aaab<B><C> <C><B> <C> 4=> aaab<B> <C><B> <C><C> 4=> aaa b<B> <B><C><C><C> 5=> aaab b<B> <C><C><C> 5=> aaabb b<C><C><C> 6=> aaabbb c<C><C> 7=> aaabbbc c<C> 7=> aaabbbccc

MTODO DEL RBOL DE DERIVACIN


Es una representacin grafica de la derivacin Ejemplo: derivar (3 3 2 2 4) P:
1. 2. 3. 4.

<S> a<A>b<S> <S> b <A> <S><A>c <A>

FISI - Daniel Alfonso Quinto Pazce

Derivar: b<A>c,

para obtener bbbccc:


b<A>c

<S> b <S> b b b b

<A> <A> c c c c

FISI - Daniel Alfonso Quinto Pazce

LENGUAJE FORMAL
Es el conjunto de secuencias de smbolos terminales( sst ) del Alfabeto.

LENGUAJE GENERADO POR UNA GRAMTICA : L(G)


Definicin.- Dado una gramtica G, el L(G) es el conjunto de 1. L(G)= {an b / n>0} P:
1. 2. 3.

secuencias de smbolos terminales que pueden ser derivados a partir del smbolo inicial <S> ; L(G)={x/x Vt* y <S> ===>* x }
FISI - Daniel Alfonso Quinto Pazce

4.

<S> a<A> <A> a<A> <A> b<B> <B>

P:
1. 2. 3.

ab aab aaab aaab

<S> <A> <A> a<A> <A> ab

Tipo 2

P:
1. 2. 3.

4.

<S> <A><B> <A> a<A> <A> a <B> b

Tipo 2

GRAMTICA Vs
S
b/0

MAQUINA
a/1 a/1 A
FISI - Daniel Alfonso Quinto Pazce

a/0 b/0 B

b/0

a/1 q0
b/0

a/1 q1

a/0 b/0 q2

b/0

LENGUAJE GENERADO POR UNA GRAMTICA


2.- L(G)={an b/n0} P:
1. 2. 3. 4.

<S> <A><B> <A> a<A> <B> b <A>

b ab aab aaab aaa..aab

FISI - Daniel Alfonso Quinto Pazce

3.- L(G)={(ab)+} P:
1. 2. 3. 4. 5.

<S> a<A> <A> a<A> <A> b<B> <B> b<B> <B>

ab aab aaab aaa..ab abb abbb abbbb aaabbb

GRAMTICA Vs MAQUINA
a/0 S
b/0

a/0 A
FISI - Daniel Alfonso Quinto Pazce

b/1
T a/0 B b/1 a/0 q0
b/0

a/0
q1

a/0

q2 b/1

b/1

LENGUAJE GENERADO POR UNA GRAMTICA


4.- L(G)={amban/m>0, n>0} P:
1.
2. 3. 4. 5.

FISI - Daniel Alfonso Quinto Pazce

<S> a<A> <A> a<A> <A> b<B> <B> a<B> <B> a

aba aaba aaaba aaa..aba abaa abaaa abaaaa aaabaaa

GRAMTICA Vs MAQUINA
a/0 S b/0 T b/0
FISI - Daniel Alfonso Quinto Pazce

a/0 A

b/0 a/0

B
a/0 a/0 a/0 q1

q0 b/0

b/0 T
a/0

q2
a/0

b/0

LENGUAJE GENERADO POR UNA GRAMTICA


Ejercicios: 5. L(G)={0+ 1+} 6. L(G)={1* 0*} 7. L(G)={anbn/n 0} 8. L(G)={a2na3n/n>0} 9. L(G)={ambncmdn/m>0, n>0}
FISI - Daniel Alfonso Quinto Pazce

GRAMTICA AMBIGUA
Cuando la gramtica contiene una secuencia de smbolos terminales con mas de un rbol de derivacin. <S> Ejemplo (1 2 5 4 5) o ( 1 3 2 5 5 ) P: a <A> <S> a<A><B> <A> <A> a<B> b <A> <A>b a <B> <B> b<B> a <B> a <S> *Derivar: aaaba aaaba
a <A> <B>
<B> a b <B> <B> a
FISI - Daniel Alfonso Quinto Pazce

aaaba

ANLISIS SINTCTICO
Es aquel que reconoce, si una secuencia de smbolos terminales (sst) pertenece o no al lenguaje generado por una gramtica. Por el Mtodo de las Pilas ejemplo P:
1. 2. 3. 4.
FISI - Daniel Alfonso Quinto Pazce

<S> c<A><B> <A> b<B>a <B> c<B> <B> a

cbaaa L(G) ?

ANLISIS SINTCTICO
<S>
c <A> <B> b <B> a <B>

cbaaa

baaa
<A> <B>

baaa
<B> a <B>

aaa
FISI - Daniel Alfonso Quinto Pazce

<A> <B>

<B> a <B>

a a <B>

aaa
a <B>

aa

aa a <B> a <B> a <B> a

<B>

cbaaa L(G)

CONSTRUCCIN DEL ANLISIS SINTCTICO REGLAS


R1. La Produccin a 1
a 2 a 3

S.r. a 1 / 2 / 3 R2. Las ocurrencias de smbolos terminales X X S.r. R3. Las ocurrencias de smbolos no terminales A A S.r. R4. Las Producciones 1 a a 1 / 2 S.r. 2 R5. Las Producciones a 1 . 2 a 1 2 S.r. a R6. La Produccin S.r. a {}

FISI - Daniel Alfonso Quinto Pazce

CONSTRUCCIN DEL ANLISIS SINTCTICO REGLAS

Ej.:

P:
1.

2.
3.

<A> x/(<B>) <B> <A><C> <C> {+<A>} A (


B
A

FISI - Daniel Alfonso Quinto Pazce

1.2.-

x
2 C

3.En general
A (

x
A
A

)
+

CONSTRUCCIN DEL ANLISIS SINTCTICO REGLAS


Ejercicios: Hacer el anlisis sintctico. P. 1. <A> (<A>)/(<B>) 2. <A> <B><F><C> 3. <F> {+x} 4. <B> <D><G><E> 5. <G> {*y}

FISI - Daniel Alfonso Quinto Pazce

MQUINA DE ESTADO FINITO DETERMINISTICO (MEFD)


Es una mquina de estructura algebraica abstracta de memoria interna primitiva que permite simular el comportamiento de una maquina real M (E, S, Q, q0 , f, g)
donde:

FISI - Daniel Alfonso Quinto Pazce

E={conjunto de entradas} a, b, c.0,1,2,3.. S={conjunto de salidas} 0=no aceptada,1= aceptada Q={conjunto de estados} q1, q2, q3,... q0 = estado especial de inicio f = funcin de transicin o de estado siguiente
a/0 q2

f: Q x E Q (q1, a) f(q1, a) = q2 q1 g: funcin de salida o de aceptacin g: Q x E S (q1, a) g(q1, a)=0

MQUINA DE ESTADO FINITO DETERMINISTICO (MEFD)


TABLA DE TRANSICIN
Q q0 q1 q2 f: Q*E Q f(q0, a) = q0 f(q0, b) = q1 f(q1, a) = q2 f(q1, b) = q1 f(q2, a) = q2 f(q2, b) = q0 E a q0/0 q2/0 q2/1 g: Q*E S g(q0, a) = 0 q0/0 g(q0, b) = 1 q1/1 g(q1, a) = 0 q2/0 g(q1, b) = 0 q1/0 g(q2, a) = 1 q2/1 g(q2, b) = 0 q0/0 b
FISI - Daniel Alfonso Quinto Pazce

q1/1 q1/0 q0/0

MQUINA DE ESTADO FINITO DETERMINISTICO (MEFD)


A)

MQUINA DE MEALY
FISI - Daniel Alfonso Quinto Pazce

a/0
q0

b/0 b/1 q1

b/0

q2 a/1

a/0

MQUINA DE ESTADO FINITO DETERMINISTICO (MEFD)


B.

MQUINA DE MOORE
b

FISI - Daniel Alfonso Quinto Pazce

a a q0/0 a b q1 /1 b b q2/0 a

q2/1

b q1/0

C.

DIAGRAMA DE FLUJO

MAQUINA DE MEALY
INICIO

FISI - Daniel Alfonso Quinto Pazce

q0 b Z= 1 q1 b Z=0 b Z=0 P a Z=1 q2 P a Z =1 P a Z=0

TABLA DE SECUENCIA DE ESTADOS


Dada la cadena de Entradas X= abaabba Encontrar la cadena de salida Z=? i) Manualmente Z=0101010 ii) Tabla de Secuencia de estados
Instante t Estado actual Entrada X Estado Siguiente 0 q0 a q0 q0 b q1 1 q1 a q2 2 q2 a q2 3 q2 b q0 4 q0 b q1 5 6 q1 a q2 7 q2

FISI - Daniel Alfonso Quinto Pazce

Salida Z

MQUINA DE ESTADO FINITO DETERMINISTICO (MEFD)


TABLA DE TRANSICIN
Q q0 E a q1/1 b q0/0 q0

b/0

Maquina de Moore a/1


q1

q1
q2

q2/1
q2/1

q0/0
q0/0 b/0

b/0
FISI - Daniel Alfonso Quinto Pazce

q2 a/1

a/0

Poseen estado de aceptacin por no tener salidas diferentes y se marca los de salida 1 AUTOMATA
a
q0 q1 Q

TABLA DE TRANSICIN
E a b S 0 1

b
b q2 a a

q0 q1

q1 q2

q0 q0

q2

q2

q0

AUTOMATA
E. Q E a b c S 0 0

(MEFD)
Q E a b c

DADA TABLA DE TRANSICIN(a Moore)


q0 q1 q1 q1 q2 q2 q3 q3 q0 q1 q1/0 q1/0 q2/1 q2/1 q3/0 q3/0
FISI - Daniel Alfonso Quinto Pazce

q2
q3 q4 q5

q2
q4 q6 q1

q4
q3 q5 q5

q5
q5 q2 q2

1
0 0 1

q2
q3 q4 q5

q2/1
q4/0 q6/0 q1/0

q4/0
q3/0 q5/1 q5/1

q5/1
q5/1 q2/1 q2/1

AUTOMATA
a b a
q0 q4

b
c b
q2

a
c
a

q1

b a c
q5

b
q3

c b

MQUINA DE ESTADO FINITO NO DETERMINISTICO (MEFND)


M{E, , Q, q0, Q, f, g}
FISI - Daniel Alfonso Quinto Pazce

f: Q x E Q (q1, a) f(g, a) = {q1, q2} de estado a mas de un estado


a/0
q1

a/1

q2

MQUINA DE ESTADO FINITO NO DETERMINISTICO (MEFND)


Ej.:
a
q0

a b b c
q3

c
q1

b
b b a c

q2

FISI - Daniel Alfonso Quinto Pazce

Q q0 q1 q2 q3

a {q0 , q2} {q0, q2} {q1, q2} {q3 }

b {q1} {q3} {q3} {q1}

C {q3} {q1} {q0} {q2}

DISEO DE UNA MAQUINA VS AUTOMATA (MEFD)


Disee una mquina de 3 estados que produzca salida 1 cuando compare desigualdades con los smbolos =, >, < E = {00, 01, 10, 11} Q = {q0 ,q1, q2} q0 = {0, 1}
Comp

FISI - Daniel Alfonso Quinto Pazce

00 = > <

01 < < <

10 > > >

11 = = =

Q E q0 q1 q2

00 q0/0 q1/1 q2/1

01 q2/1 q2/1 q2/1

10 q1/1 q1/1 q1/1

11 q0/0 q0/0 q0/0

= > <

DISEO DE MQUINA (MEFD)

FISI - Daniel Alfonso Quinto Pazce

11/0
q0

00/0 10/1 11/0 11/0

00/1 10/1

q1

01/1
01/1
q3

10/1

00/1

01/1

DISEO DE MQUINA (MEFD)


Disee una mquina de 4 estados que al recibir un valor de 3 lo reconozca y produce salida 1. La persona puede ingresar como entrada{1, 2, 3} E = {1, 2, 3} = {0, 1} Q = {q0 ,q1, q2, q3}
*/+

FISI - Daniel Alfonso Quinto Pazce

OP
0 1 2 3

1
1 2 3 1

2
2 3 1 2

3
3 1 2 3

DISEO DE MQUINA (MEFD)


Tabla de Transicin:
Q E 1 2 3

q0 q1

q1/0 q2/0

q2/0 q3/1

q3/1 q1/1
FISI - Daniel Alfonso Quinto Pazce

q2
q3 2/0
q0

q3/1
q1/1

q1/1
q2/1

q2/1
q3/1

1/0

3/1
q1

3/1 1/0 1/1


q2

2/1 3/1

1/1 2/1
q3

1/1

DISEO DE MQUINA (MEFD)


Disee una mquina de 2 estados que produzca salida 1 siempre que la cadena de unos sean pares y produzca cero en otros casos. E = {0, 1} q0, q1 = {0, 1}
0/1 1/0
q1

FISI - Daniel Alfonso Quinto Pazce

0/0 q2 1/1

pares

impares

TAREA
Disee una mquina estado finito deterministico, de
4 estados que reconozca cadena de ceros y unos en la que el numero de ceros y el numero de unos son pares.
FISI - Daniel Alfonso Quinto Pazce

E = {0, 1} = {0, 1}
1/0
q1

q0, q1, q2, q3

q2 1/1 1/0

q1

q2 1/0

DISEO DE MQUINA (MEFD)


Disee

una mquina de 3 estados que reconozca la cadena 101 y produzca salida 1 ,en otros casos salida 0.

FISI - Daniel Alfonso Quinto Pazce

1/0

0/0
q0

1/0

q1

0/0

1/1 0/0

q2

0010101010 101000101 111101111

DISEO DE UNA MAQUINA


Disee una maquina de tres estados que produzca salida 1 siempre que X Mod 3 = 1, y 0 en otro caso
0/0

FISI - Daniel Alfonso Quinto Pazce

0/1
1/1
2/0

q0

q1 2

1/0 1/0 2/0


q2 2

2/1 0/0

DISEO DE MQUINA (MEFD) EXPENDEDORA DE CARAMELOS


TAREA
FISI - Daniel Alfonso Quinto Pazce

Consideremos una mquina vendedora de caramelos que entrega a la persona el chocolate elegido despus de recibir una moneda de 50 centavos que cuesta el chocolate. La persona puede, depositar monedas de 10, 20, 50 centavos. Disee esta mquina con 5 estados.

DISEO DE MQUINA (MEFD) EXPENDEDORA DE CARAMELOS


Una forma de planteamiento
Q / E S0 S1 S2 S3 S4 10 S1 S2 S3 S4 S5 20 S2 S3 S4 S5 S4 50 S5 S1 S2 S3 S4
FISI - Daniel Alfonso Quinto Pazce

DISEO DE MQUINA (MEFD) EXPENDEDORA DE CARAMELOS


Una forma de planteamiento
Q / E q0 q1 q2 q3 q4 10 q1 q2 q3 q4 q5 20 q2 q3 q4 q5 q4 50 q5 q1 q2 q3 q4
FISI - Daniel Alfonso Quinto Pazce

Potrebbero piacerti anche