Sunteți pe pagina 1din 12

Ministerul Educaiei al Republicii Moldova

Universitatea Tehnic a Moldovei


Facultatea Calculatoare, Informatica, Microelectronica

Disciplina:LimbajeFormaleiProiectareaCompilatoarelor

LUCRARE
deverificare

A elaborat : st. gr.TI-131 F/R


Cebotari Ion

A verificat : Lector Superior, Magistru


Ludmila Duca

Chiinu 2016
Problema 1. Varianta 55:

G = ( VN, VT, P, S )
VN = { S, R, L }
VT = { a,b,c,d,e,f}
P= {
S aS
S bS
S cR
R dL
L fL
L eL
Ld
}
1.1. Pentru gramatica formal G=( VN, VT, P, S ) construii 5 iruri care aparin limbajului L(G)
generat pentru aceast gramatic.

cdd, acdfed, acded, bacdfd, cdafd

1.2. Construii arborii de derivare pentru aceste iruri


S S S

c R a S a S

d L c R c R

d L d L
d
f L e L

e L d

Pag. 1
S S

b S c R

a S d L

c R e L

d L L
f

e L
d

f L

d
1.3. Construii i desenai automatul finit echivalent AF=(Q, , , q0, F)
AF=(Q, , , q0, F)
Q = { q0, q1, q2, q3 }
= {a, b, c, d, e, f }
F = {q3}
( q0, a ) = q0
( q0, b ) = q0
( q0, c ) = q1
( q1, d ) = q2
( q2, e ) = q2
( q2, f ) = q2
( q2, d ) = q3

a e

q0 c q1 d q2 d q3

b f

Pag. 2
Problema 2. Varianta 55
AF=(Q, , , q0, F)
Q = { q0, q1, q2 }
= {a, b }
F = {q2}
( q0, a ) = q0
( q0, a ) = q1
( q0, b ) = q2
( q1, b ) = q2
( q1, a ) = q0
( q2, b ) = q2

2.1. Reprezentai automatul sub form de graf


b
a a

q0 a q1 b q2

b
2.2. Este sau nu AF determinist?
Pentru a fi determinist, din fiecare stare a AF ar trebui s existe o singur tranziie cu acelai
simbol. Dup cum vedem din graf, din starea q0 pornesc dou tranziii cu simbolul a, spre q0
i q1, ce face acest automat nedeterminist

2.3. Dac automatul este nedeterminist construii automatul determinist echivalent.


a b
{0} 0,1 2
{0,1} 0 2
{2} - 2

Noul automat finit va avea trei stri A, B i C


AF=(Q, , , q0, F)
Q = { A, B}
= {a, b }
F = {B}
( A, a ) = A
( A, b ) = B
( B, b ) = B

Pag. 3
Acesta poate fi reprezentat de urmtorul graf:
b

b
A C
a b
a B
2.4. Construii gramatica regulat echivalent cu AFD
G = ( VN, VT, P, S )
VN = { S, A, B }
VT = { a,b}
P= {
SA
A aB
A bC
B aA
B bC
C bC
Cb
}

2.5. Inventai un ir peste vocabularul care nu va fi acceptat de ctre automat. Artai acest lucru
scriind secvena (secvenele) de configuraii respective.

irul peste vocabular care nu va fi acceptat de ctre automat aba.


(A,a) |- (aB,b) |- (abB,a)

2.6. Pentru automatul finit AFD = (Q, , , A, 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.

abbbb, aabbb, aaabb, aaaab, bbbbb.

2.7. Pentru fiecare ir x scriei secvena de configuraii pentru acceptarea irului, adic (q0, x) |-
(qi1,x1) |- (qi2, x2) |- |- (qf, ), unde qf F.

1. (A, a) |- (aA,b) |- (abB,b) |- (abbB, b) |- (abbbB,b) |- (abbbb, )


2. (A, a) |- (aA,a) |- (aaA,b) |- (aabB, b) |- (aabbB,b) |- (aabbb, )
3. (A, a) |- (aA,a) |- (aaA,a) |- (aaaA, b) |- (aaabB,b) |- (aaabb, )
4. (A, a) |- (aA,a) |- (aaA,a) |- (aaaA, b) |- (aaaaA,b) |- (aaaab, )
5. (A, b) |- (bB,b) |- (bbB,b) |- (bbbB, b) |- (bbbbB,b) |- (bbbbb, )

2.8. Judecnd dup structura automatului finit determinist, este posibil aplicarea lemei de pompare
pentru orice ir cu lungimea mai mare dect 3, deci p3. Astfel, pentru cele 5 iruri acceptate
primim:

Pag. 4
abbbb u=a, v=bb, w=bb
aabbb u=a, v=a, w=bbb
aaabb u=aa, v=a, w=bb
aaaab u=a, v=aa, w=ab
bbbbb u=b, v=b, w=bbb

Problema 3. Varianta 55

G = ( VN, VT, P, S )
VN = { S, A, B }
VT = { a,b}
P= {
S AB
S bA
SB
S aA
A
A aS
A BAabAb
Ba
B bSAb
}

3.1. Eliminai -producii


n gramatica prezentat mai sus este prezent o singur -producie - A . Dup
eliminarea aceastei producii vom primi urmtoarea mulime P:
P= {
S AB
SB
S bA
Sb
S aA
Sa
A aS
A BAabAb
A BabAb
A BAabb
A Babb
Ba
B bSAb
B bSb
}

3.2. Eliminai redenumirile


Unica redenumire prezent este redenumirea S B. Dup eliminarea acestei redenumiri
vom primi:
P= {
S AB
S bSAb
S bSb

Pag. 5
S bA
Sb
S aA
Sa
A aS
A BAabAb
A BabAb
A BAabb
A Babb
Ba
B bSAb
B bSb
}

3.3. Eliminai simbolurile inaccesibile


n acest caz nu sunt simboluri inaccesibile, att A ct i B fiind accesibile.

3.4. Eliminai simbolurile neproductive


La fel, n acest caz nu avem simboluri neproductive.

3.5. Aducei la forma normal Chomsky (FNC)


P= { P= { P= { P= {
S AB S AB S AB S AB
S bSAb S U1U2 S U1U2 S U1U2
S bSb S U1b S U1R2 S U1R2
S bA S bA S R2A S R2A
Sb Sb
S aA Sb Sb
=> S aA => S R1A => S R1A
Sa Sa
A aS Sa Sa
A aS A R1S A R1S
A BAabAb A BAabU2
A BabAb A U3U5U2 A U3U6
A BAabb A BabU2
A BU5U2 A BU6
A Babb A BAabb
A Babb A U3U5R2 A U3U7
Ba
B bSAb Ba A BU5R2 A BU7
B bSb B U1U2 Ba Ba
} B U1b B U1U2 B U1U2
U1 bS B U1R2 B U1R2
U2 Ab U1 R2S U1 R2S
} U2 AR2 U2 AR2
U3 BA U3 BA
U4 BR1 U4 BR1
U5 R1R2 U5 R1R2
R1 a U6 U5U2
R2 b U7 U5R2
} R1 a
R2 b
}
Pag. 6
Problema 4. Varianta 31

G = ( VN, VT, P, S )
VN = { S, A, B, C }
VT = { a,b}
P= {
S AC
Ca
B aA
B BC
Ab
A SB
}

Eliminm variabila S din partea dreapt a produciilor


P= { P= { P= {
S AC S0 S S0 AC
Ca S AC Ca
=> =>
B aA Ca B aA
B BC B aA B BC
Ab B BC Ab
A SB Ab A ACB
} A SB }
}
Transformm limbajul n forma normal Chomsky
P= { P= {
S0 AC S0 AC
Ca Ca
=> =>
B aA B U2A
B BC B BC
Ab Ab
A AU1 A AU1
U1 CB U1 CB
} U2 a
}
Schimbm denumirile variabilelor neterminale: S0 = A1, A = A2, C = A3, B = A4, U2 = A5, U1 = A6
P= {
A1 A2A3
A3 a
A4 A5A2
A4 A4A3
A2 b
A2 A2A6
A6 A3A4
A5 a
}

Pag. 7
Nu corespund formei necesare pentru forma normal Greibach produciile: A4 A4A3, A2 A2A6,
A6 A3A4.Pentru producia A6 A3A4 vom efectua substituirea A3 a, iar pentru celelalte dou
producii vom elimina recursivitatea-stng.
P= { P= { P= {
A1 A2A3 A1 A2A3 A1 A2A3
A3 a A3 a A3 a
A4 A5A2 A4 A5A2Z1 A4 A5A2Z1
=> A4 A5A2 => A4 A5A2
A4 A4A3
A2 b A4 A3Z1 A4 aZ1
A2 A2A6 A4 A3 A4 a
A6 aA4 A2 b A2 b
A5 a A2 bZ1 A2 bZ1
} A6 aA4 A6 aA4
A5 a A5 a
Z1 A3Z1 Z1 aZ1
Z1 A3 Z1 a
Z2 A6Z2 Z2 aA4Z2
Z2 A6 Z2 aA4
} }

Dup eliminarea recursiei-stnga i a substituirii neterminalelor, primim gramatica care corespunde


cu forma normal Greibach.

Pag. 8
Problema 5. Varianta 55.

G = ( VN, VT, P, S )
VN = { S, A, B }
VT = { a,b}
P= {
S BA
B AS
Sa
Bb
A BA
A AS
Ab
}
Z= bababbabb
Este dat gramatica independent de context, conform teoremei uvwxy de reprezentat cuvntul Z
n forma uvwxy

Reprezentm n form de arbore binar transformrile necesare pentru a ajunge la cuvntul Z

B A

A S B A

B A B A

A S A S A S

b a b a b b a b b
Pe baza acestei reprezentri delimitm u=ba, v=ba, w=b, x=ba, y=bb

Pag. 9
Problema 6. Varianta 55.
Este dat gramatica independent de context
G = ( VN, VT, P, S )
VN = { S, A, R, E, D }
VT = { a,b,c,d,e,f,g}
P= {
S Ag
A abcR
R Ed
Ee
E EfD
Dc
}

S se construiasc matricea relaiilor de preceden i s se analizeze irul abcefcdg

Determinm relaiile FIRST i LAST:


SF{A} SF+{A,a} SF*{S,A,a}
AF{a} AF+{a} AF*{A,a}
RF{E} RF+{E,e} RF*{E,e,R}
EF{E,e} EF+{E,e} EF*{E,e}
DF{c} DF+{c} DF*{D,c}

SL{g} SL+{g} SL*{S,g}


AL{R} AL+{R,d} AL*{A,R,d}
RL{d} RL+{d} RL*{R,d}
EL{e,D} EL+{e,D,c} EL*{E,e,D,c}
DL{c} DL+{c} DL*{D,c}

Folosind relaiile First i Last, generm tabelul de preceden simpl:


S A R E D a b c d e f g
S
A
R
E
D
a
b
c
d
e

Pag. 10
f
g

Pe baza relaiilor simple de preceden simpl prezentate mai jos, crem tabelul de analiz a irului
de caractere abcefcdg:

Regula Forma Propozitionala


abcefcdg
Ee abcEfcdg
Dc abcEfDdg
E EfD abcEdg
R Ed abcRg
A abcR Ag
S Ag S

Pag. 11