Sunteți pe pagina 1din 6

Ministerul Educaţiei şi Ştiinţei

al Republicii Moldova

Universitatea Tehnică a Moldovei

Facultatea Calculatoare Informatică şi Microelectronică


Tehnologii Informationale

Lucrare de laborator
Nr.1
la Limbaje Formale şi Proiectarea Compilatoarelor

Tema:
Limbajele regulate

A efectuat: st.grupei TI-142


Bulat Alexandru

A verificat: lector superior


Duca Ludmila

Chişinău 2015
Scopul lucrării:
1. Pentru gramatica formală G=(VN, VT, P, S) construiţi 5 şiruri care aparţin limbajului
L(G) generat de această gramatică. Lungimea şirului trebuie să fie nu mai mică decît
numărul de caractere din alfabetul Vn 2
2. Pentru fiecare şir să se construiască arborele de derivare.
3. Desenaţi automatul finit echivalent acestei gramatici.
4. La ce clasă a gramaticilor dacă Chomsky aparţine gramatica dată.
Datele iniţiale (Varianta 1) :
VN ={S, P,Q}
VT ={a, b, c, d, e, f,}
P={ 1. S→aP
2. S→bQ
3. P→bP
4. P→cP
5. P→dQ
6. P→e
7. Q→eQ
8. Q→fQ
9. Q→a }

1.S→aP→acP→acbP→acbdQ→acbdeQ→acbdea;

a P

c P

b P

d Q

e Q

2
2. S→bQ→beQ→befQ→befeQ→befeeQ→befeea;

b
Q

e
Q

f Q

e Q

e
Q

3. S→bQ→bfQ→bfeQ→bfefQ→bfefeQ→bfefea;

b Q

f
Q

e
Q

f Q

e Q
3
a
4.S→aP→abP→abcP→abcdQ→abcdeQ→abcdea;

a P
O

b P

c P

d Q

e
Q

5. S→aP→abP→abcP→abcdQ→abcdeQ→abcdefQ→abcdefeQ→abcdefea;
S

P
a
P

b P
c
Q
d
Q
e
Q

f Q
e

4
1) Pentru fiecare şir construim arborii de derivare:

1. 2. 3. 4. 5.

S S S S S
/\ /\ /\ /\ /\
aP aP aP aP aP
/\
/\ /\ /\ /\
dQ
/ dQ cP bP dQ
A /\ /\ /\ /\
eQ dQ dQ fQ
/ / / /
a a a a

Schema automatului finit echivalent gramaticii

5
AF=(Q, , , q0, F), unde
Q – mulţimea de stări
 - vocabular
 - funcţia de tranziţie
q0 – starea iniţială
F – mulţimea stărilor finale
Algoritmul de construire AF:

1. Q = VN{X}={ S, P,Q}
2. =VT={ a, b, c, d, e, f }
3. q0=S
4. F={X}

1.(S,a)=P
2.(S,b)=Q
3.(P,b)=P
4.(P,c)=P
5.(P,d)=Q
6.(P,e)=X
7.(Q,e)=Q
8.(Q,f)=Q
9.(Q,a)=X

Concluzii:În urma efectuării date laboratorului am obţinut experienţă în


domeniul limbajelor şi anume a limbajelor regulate care sunt foarte importante în
proiectarea compilatoarelor. Astfel am inteles în practică lucrul cu acest tip de
limbaje, adică construirea şirurilor, a arborelor de derivare precum şi desenarea
automatelor finite echivalente, etc.

S-ar putea să vă placă și