Sunteți pe pagina 1din 19

Ministerul Educaiei al Republicii Moldova

Universitatea Tehnic a Moldovei


Catedra Automatica si Tehnologii Informationale

Lucrarea de Curs
la Limbaje Formale si Proiectarea Algoritmilor

A efectuat:
A verificat:

Chiinu 2015

Lucrarea Nr.1
Scopul lucrarii:
1.Pentru gramatica formal G=(VN, VT, P, S) construii 5 iruri care aparin
limbajului L(G) generat de aceast gramatic.
2.Construii arborii de derivare pentru aceste iruri.
3.Construii (desenai) automatul finit echivalent.
Varianta 4.
VN={S, L }, VT={a, b,c,d,e,f,j } ,
P= {
1. S aS
2. S bS
3. S cS
4. S dL
5. L eL
6. L fL
7. L jL
8. L e
9. L f
10.L j
11.S d }
1.
a)SaSabSaabd
b)SbsbdLbdjLbdje
c)ScScbScbaScbadLcbadf
d)SdLdeLdejLdejf
e)SbSbcSbcdLbcdjLbcdje
2.
a)

b)

c)

d)

e)

3.

q0

a
q0

q1

q2

b
c
d
e
f
j
q0 q0 q1q
2
q1q q1q q1q
2
2
2
-

Lucrarea Nr.2
Scopul lucrarii:
1. Este dat automatul finit AF=(Q, , , q0, F). Reprezentai automatul sub form de graf.
2. Este sau nu automatul dat determinist?
3. Dac automatul este nedeterminist, construii automatul finit determinist echivalent.
4. Construii gramatica regulat echivalent cu AFD
5. Inventai un ir peste vocabularul care nu va fi acceptat de ctre AFD. Artai acest lucru
scriind secvena (secvenele) de configuraii respective.
6. Pentru automatul finit AFD=(Q, , , q0, F) construii 5 iruri acceptate de automat. Lungimea
irurilor s nu fie mai mic dect n+2, unde n este numrul de stri din Q.
7. Scriei expresia regulat echivalent.
8. Pentru fiecare ir x scriei secvena de configuraii pentru acceptarea irului, adic (q0, x) (qi1,
x1) (qi2, x2) (qf, ), unde qf F.
9. Petru toate cele 5 iruri obinute construii aplicnd lema de pompare descompunerea x=uvw.
Varianta 4
AF=(Q, , , q0, F), Q = {q0, q1, q2 , q3}, = { a, b, c}, F = { q3}.
(q0, a) = {q1}, (q1, a) = {q2}, (q2, b) = {q2, q3}, (q2, c ) ={q2}, (q3, a) ={q3} .
1.Este data automatul finit AF=(Q, , , q0, F). Reprezentai automatul sub form de graf.

2.Est
e sau nu automatul dat determinist.
3. Dac automatul este nedeterminist, construii automatul finit determinist echivalent.
Q
a
b
c
q0
q1
q1
q2
q2
q2,q3
q2
q2q3
q3
q3,q2
q2
q3
q3
c

q0

q1

q2

q2q3

q3

4.Construii gramatica regulat echivalent cu AFD


a)q0aq1
b)q2b
q1aq2
q3a
q2bq2
q2q3->b
q2q3->bq2
q2q3->a
q2cq2
q2bq3
q2q3->aq3
q3aq3
5. Inventai un ir peste vocabularul care nu va fi acceptat de ctre AFD. Artai acest lucru
scriind secvena (secvenele) de configuraii respective.
x=aacbca
(q0,aacbca) (q1,acbca) (q2,cbca) (q2,bca) (q2q3,ca) (q2,a)-impas
6.Pentru automatul finit AFD=(Q, , , q0, F) construii 5 iruri acceptate de automat. Lungimea
irurilor s nu fie mai mic dect n+2, unde n este numrul de stri din Q.
x1=aaccbcba
x2=aacbbaa
x3=aabbaaa
x4=aacbcbba
x5=aacbbba
7.Scriei expresia regulat echivalent.
aa(b +c)ba
8.Pentru fiecare ir x scriei secvena de configuraii pentru acceptarea irului, adic (q0, x)
(qi1, x1) (qi2, x2) (qf, ), unde qf F.
a)(q0,aaccbcba) (q1,accbcba) (q2,ccbcba) (q2,cbcba) (q2,bcba) (q2q3,cba)
(q2,ba) (q2q3,a) (q3,e)
b)(q0,aacbbaa) (q1,acbbaa) (q2,cbbaa) (q2,bbaa) (q2q3,baa) (q2q3,aa) (q3,a)
(q3,e)
c) (q0,aabbaaa) (q1,abbaaa) (q2,bbaaa) (q2q3,baaa) (q2q3,aaa) (q3,aa) (q3,a)
(q3,e)

d) (q0,aacbcbb) (q1,acbcbb) (q2,cbcbb) (q2,bcbb) (q2q3,cbb) (q2,cbb)


(q2q3,bb) (q2q3,b) (q2q3,e)
e) (q0,aacbbba) (q1,acbbba) (q2,cbbba) (q2,bbba) (q2q3,bba) (q2q3,ba)
(q2q3,a) (q3,e)
9.Petru toate cele 5 iruri obinute construii aplicnd lema de pompare descompunerea x=uvw.
a)aaccbcba
a
a c c b
c
b
a
q0q1q2q2q2q2q3q2q2q3q3
u=aa
v=c
w=cbcba
b) aacbbaa
a
a c b
b
a a
q0q1q2q2q2q3q2q3q3q3
u=aa
v=c
w=bbaa
c) aabbaaa
a
a b
b
a a a
q0q1q2q2q3q2q3q3q3q3
u=aab
v=b
w=aaa
d) aacbcbb
a
a c b
c b
b
q0q1q2q2q2q3q2q2q3q2q3
u=aa
v=c
v=bcbb
e) aacbbba

a
a c b
b
b
a
q0q1q2q2q2q3q2q3q2q3q3
u=aa
v=c
w=bbba

Lucrarea Nr.3
EPS004. S se elimine - produciile.
G = (VN , VT , P, S), VN= {S, L, A, I}, VT = {a,b}
P= {
1. S L
2. L A I
3. L a A
4. L L a A I
5. L L b I
6. A a I b
7. A I
8. I b
9. I }
Algoritmul de eliminare producii
1.Construim N
2.Initial P=P\{A }
Eliminam din P toate -productii
3.Pentru toate productiile A din P si toate combinatiile posibile
4.Repetam pasul 3 cat timp apar productii noi in P.
5.Daca SN(L(b))atunci P=P{ S }
1.Eliminam producii
N={}
N={I}
N={I,A}
N={I,A,L}
N={I,A,L,S}
1.SL
2.LAI
LA
LI
3.LaA

La
4.LLaAI
LaAI
LLaI
LLaA
LaA
LLa
LaI
La
5.LLbI
LLb
LbI
Lb
6.AaIb
Aab
AaI
Lucrarea Nr.4
FNC004. S se reduc la Forma Normal Chomsky gramatica independent de
context
G = (VN , VT , P, S), VN= {S, L, A, I}, VT = {a,b}
P= {
1. S L
2. L A I
3. L a A
4. L L a A
5. L L b I
6. A a I b
7. I b
8. I
}.
Eliminm producii:
1.
N={}
N={I}
2.
SL -redenumire
LAI

LA -redenumire
LaA
LLaA
LLbI
LLb
AaIb
Aab
I b
Eliminam redenumirile
1.Rs={S}
2.SL
LA

RL={L}
RA={A}
RL=RL U RS={L,S}
RA=RA U RL={A,L,S}

SAI
SaA
SLaA
SLbI
SLb
LAI
LaA
LLaA
LLbI
LLb
AaIb
Aab
SaIb
Sab
LaIb
Lab
Ib
Aducem la forma normala Chomsky
SAI
SXA
Xa
SQA
QLX

SLM
MYI
Yb
SLY
LAI
LXA
LQA
LLM
AXC
CIY
AXY
SXC
SXY
LXC
LXY
Ib
Lucrarea Nr.5
REC004. S se elimine recursia stng.
G = (VN , VT , P, S), VN= {S, L, A, I}, VT = {a,b}
P= {
1. S L
2. L A I
3. L a A
4. L L a A I
5. L L b I
6. A a I b
7. A A I
8. I b
9. I a L
}.
Pentru S nu este recursie stanga
Pentru L:
a)LLaAI
b) LAI
a1)LAIX
a2)XaAI
a3)X aAIX
b) LAI
Pentru A:

LLbI
LaA
LaAX
XbI
XbIX
LaA

AaIb
AAI
a1)AaIbY
a2)YI
a3)YIY
b)AaIb
SL
LAIX
LAax
XaAI
XbI
X aAIX
XbIX
LAI
LaA
AaIbY
YI
YIY
AaIb

Lucrarea Nr.6
FNG004. S se reduc la forma normal Greibach gramatica independent de context
G=(VN, VT, P, S,), VN={S, A, B, C}, VT ={a, b},
P={ 1. S B C
2. C B B
3. C a
4. A b
5. B C A
}
1. S B C
2. C B B
3. C a
4. A b
5. B C A
Notam

A0 = S
A1 = A
A2 = B
A3 = C

A0A2A3
A3A2A2
A3a
A1b
A2A3A1
Pentru i=0:
A0A2A3
Pentru i=3:
A3A2A2 -teorema substitutiei
A3a
Pentru i=1:
A1b
Pentru i=2:
A2A3A1
A0A2A3
A3 A3A2A2 recursie stinga
A3a
A3aX
A1b
A2A3A1
A3a
A3aX
XA1A2
XA1A2X
i=3
A3a
A3aX
XbA2
XbA2X
i=2
A2aA1
A2aXA1
i=1
Ab

i=0
A0=aA1A2
A0=aXA1A2

FNG
A3a
A3aX
XbA2
XbA2X
A2aA1
A2aXA1
A0aA1A2
A0aXA1A2
Lucrarea Nr.7
UVWXY004. Este dat gramatica independent de context :
G=(VN, VT, P, S,), VN={S, A, B}, VT ={a, b},
P={ 1. S B S
2. S A S
3. S a
4. A A S
5. A a
6. B S B
7. B b }.
a) Construii un cuvnt arbitrar z, care aparine limbajului L(G), | z | 8;
b) Aplicnd teorema uvwxy construii reprezentarea z= uvwxy.
Z=aaaabaaa
S
B
A
a

S b A Sa
B

a
a

u=aa
v=a
w=abaa

Lucrarea Nr.8

AS004. Este dat limbajul L= { an-2bdcn | n>=2}.


a) Construii gramatica independent de context G care genereaz limbajul
L. Construii derivrile irurilor x1 (n=2), x2 ( n=3) i x3 (n=4).
b) Construii automatul cu memorie stiv care accept limbajul L. Artai
secvenele de acceptare pentru irurile irurile x1, x2 i x3.
Gramatica independent de context:
Pentru n=2:bdcc
Pentru n=3:abdccc
Pentru n=4:aabdcccc

Automatul cu memorie stiva care accepta limbajul:


(q0,z0,a) = (q0,az0)
(q0,z0,b) = (q0,az0)
(q0,a,b) = (q0,aa)
(q0,a,d) = (q1,aa)
(q1,a,c) = (q1, )
(q1,z0, ) = (q1, )
n=2 :bdcc
(q0,z0,bdcc)(q0,az0,dcc)(q1,aaz0,cc)(q1,az0,c)(q1,z0, ) (q1, )
acceptare.
n=3:abdccc
(q0,z0,abdccc) (qo,azo,bdcc) (q0,aaz0,dccc) (q1,aaaz0,ccc)
(q1,aaz0,cc) (q1,az0,c) (q1,z0, ) (q1, ) acceptare.

n=4:aabdcccc
(q0,z0,aabdcccc) (q0,az0,abdcccc) (q0,aaz0,bdcccc) (q0,aaaz0,dcccc)
(q1,aaaaz0,cccc) (q1,aaz0,ccc) (q1,aaz0,cc) (q1,az0,c) (q1,z0, )
(q1, ) acceptare.
Lucrarea Nr.9
PRSMP008. Este dat gramatica independent de context :
G=(VN, VT, P, S,), VN ={S, A, F, E}, VT ={a,b,c,d,e},
P={ 1. S A
2. A F
3. A E c F
4. F a
5. F b
6. F d E
7. E A e
S se construiasc matricea relaiilor de preceden i s se analizeze irul
daeecdbe

S
A
F
E

PRIM
A,F,E,a,b
,d
F,E,a,b,d,
A
a,b,d
A,F,E,a,b
,d

ULTIM
A,F,a,b,E
,e
F,a,b,E,e
a,b,E,e
e

EQ = {(Ec),(cF),(dE),(Ae)}
1. (Ec)=>E=c
ULTIM(F)>c=>e>c
2. (cF)=>c=A
c<PRIM(F) =>c<a ,c<b,c<d
3. (dE)=>d=E
d<PRIM (E)=>d<A,d<F,d<E,d<a,d<b,d<d
4. (A,e)=>A=e
ULTIM(A)>e=>F<e,a<,b<e,E<e,e<e
5. $ < PRIM
6. ULTIM(S) > $
Tabelul relatiilor de precedenta
S

A F

a b

}.

S
>
A
=
F
> >
E
=
> >
a
> >
b
> >
c
=
< <
<
d
< < < < <
<
e
>
> >
$
< < < < <
<
($,daeecdbe,$)D($d,aeecdbe,$)D($da,eecdbe,$)R4($dF,eecdbe,$)
R2($dA,eecdbe,$)D($dAe,ecdbe,$)R7($dE,ecdbe,$) R6($F,ecdbe,$)
R2($A,ecdbe,$)D($Ae,cdbe,$)R7($E,cdbe,$)D($Ec,dbe,$)D($Ecd,be,$)
D($Ecdb,e,$)R5($EcdF,e,$)R2($EcdA,e,$)D($EcdAe,$)R7($EcdE,$)
R6($EcF,$)R2($A,$)($S,$)acceptare

Lucrarea Nr.10
LL(1)007.
Este dat gramatica independent de context
G=(VN, VT, P, S,), VN ={S, A, E, R, D, X, Z}, VT ={a,b,c,d},
P={ 1. S A 2. A c E
3. E R d
4. R D X
5. X 6. X b D X
7. D a Z
8. Z 9. Z c R d
S se construiasc tabelul de analiz LL(1) i s se analizeze irul
1.SA X FR(
2.AcE X)
3.ERdS c
4.RDX
A c
5.X E a
6.XbDX
R a
7.DaZX b,
8.Z D A
9.ZcRd
Z c,

FL(
X)
$
$
$
d
d
b,d
b,d

N={X,Z}
a
a
b

V
V

1.SA
2.AcE
3.ERd
4.RDX
5.X
6.XbD
X
7.DaZ
8.Z
9.ZcRd
$

SD()
c
c
a
a
d
b
a
b,d
c

}.

X
D
Z

2
6

7
8

Analiza irului caadbad:


(S$,caadbad$)1(A$,caadbad$)2(cE$,caadbad$)V(E$,aadbad$)
3(Rd$,aadbad$)4(DXd$,aadbad) 7(aZXd$,aadbad) V(ZXD$,adbad)
sirul nu este acceptat
Analiza sirului cabad
(S$,cabad$)1(A$,cabad$)2(cE$,cabad$)V(E$,cabad$)3(Rd$,cabad$)
4(DXd$,abad) 7(aZXd$,abad) V(ZXD$,bad) 8(XD$,bad)
6(bDXd$,bad) V(DXd$,ad) 7(aZXd$,ad) (ZXd$,d) (ZXd$,d)
8(Xd$,d) 5(d$,d)-acceptare