Sunteți pe pagina 1din 2

(Categ2) Construirea unui automat

push-down pentru o gramatic  IDC

Enunµ

S  se scrie o aplicaµie care pentru o gramatic  generativ  IDC G construie³te un


automat push-down M = (Q, Σ, Γ, δ, q0 , Z0 , ∅), pentru care T (M ) = L(G).

Cerinµe

I. Se cere denirea unei clase Grammar: se poate prelua din tema 1. În plus
trebuie s  dispun  de urm toarele metode:
 O metod  care veric  dac  gramatica este IDC
 O metod  care simplic  gramatica (vezi teorie)
 O metod  care aduce gramatica la FNG
II. Se cere denirea unei clase PushDownAutomaton
Membrii clasei vor : Q, Σ, Γ, δ, q0 , Z0 (daµi denumiri semnicative acestor
membri).
Metodele clasei - obligatorii. (Pot exista ³i altele, dac  este necesar)

1. PrintAutomaton - a³area frumoas  a elementelor unui automat. Aici


se poate lua în calcul ³i supraînc rcarea operatorului specic.
2. CheckWord - o funcµie care veric  dac  un cuvânt este acceptat sau
nu de automat.
3. IsDeterministic - veric  dac  automatul este determinist sau nu.

II. Deniµi o funcµie care preia ca parametru o gramatica independent  de con-


text (IDC) G ³i returneaz  un obiect de tip automat push-down. Automatul
returnat trebuie s  recunoasc  limbajul generat de G.

1
III. În funcµia principal  se cite³te din ³ier o gramatic  IDC. Se veric  dac 
gramatica este valid  ³i IDC. Numai în caz armativ se obµine APD-ul core-
spunz tor ³i devine activ meniul urm tor:

(a) a³area gramaticii G


(b) generarea unui cuvânt în gramatic .
(c) a³area rezultatului gramaticii simplicate.
(d) a³area gramaticii in FNG.
(e) generarea unui cuvânt în G ³i vericarea dac  e acceptat de automat.
(f) vericarea dac  un cuvânt citit de la tastatur  e acceptat de automat.

IV. BAREM:
1. I - Denire corect  a clasei Grammar, cu membrii corespunz tori. Ad u-
garea celor 3 metode suplimentare de validare si transformare. Prima
metod  0.5pct, ecare dintre celelalte dou  (de transformare) câte 0.75pct
- 2pct
2. II - Denire corect  a clasei PushDownAutomaton, cu membrii corespun-
z tori. - 1pct
3. Metoda PrintAutomaton - 0.5pct
4. Metoda CheckWord - 0.5pct
5. Metoda IsDeterministic - 0.5pct
6. Funcµia care preia ca parametru o IDC ³i returneaz  un obiect de tip
PushDownAutomaton - 3pct
7. Manipulare meniu (0.5pct)& subpuncte (e) ³i (f) (1pct împreun ) - 1.5pct

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