Professional Documents
Culture Documents
Kandidat: _____________________________________________________________
Zadatak 1 _______________/6
Zadatak 2 _______________/8
Zadatak 3 _______________/6
Ukupno: ___________________/20
Napomena: Ukoliko u zadatku nešto nije dovoljno precizno definisano, student treba da uvede
razumnu pretpostavku, da je uokviri (da bi se lakše prepoznala prilikom ocenjivanja) i da nastavi da
izgrađuje preostali deo svog odgovora na temeljima uvedene pretpostavke. Na pitanja odgovarati
čitko i precizno. Srećno!
1/4
Drugi kolokvijum iz Programskih prevodilaca 1 – SI4PP1
1. (6 poena)
Data je gramatika koja opisuje niz brojeva u brojnom sistemu sa osnovom dva (niz binarnih
vrednosti). Brojevi su razdvojeni zarezom. Broj se sastoji od jednog ili više bitova.
<niz> <niz> , <broj>
<niz> <broj>
<broj> BIT <broj>
<broj> BIT
a) Gramatiku transformisati u LL(1) gramatiku.
b) Gramatiku dobijenu pod a) dopuniti atributima tako da startni neterminal <niz> sadrži
sintetizovani atribut koji predstavlja ukupan broj neparnih vrednosti u nizu. Terminal BIT ima
sintetizovani atribut koji može biti 1 ili 0 u zavisnosti od vrednosti bita.
c) Na osnovu gramatike dobijene pod b) formirati parser rekurzivnog spusta.
Rešenje:
2/4
Drugi kolokvijum iz Programskih prevodilaca 1 – SI4PP1
2. (8 poena)
Jedna bezbednosna agencija na osnovu zakona o obelodanjivanju informacija objavila je delove
dosijea poznatog kompjuterskog stručnjaka sa sledećim LALR(1) karakterističnim automatom u
kome su neka stanja namerno zasenčena:
a) Navesti sadržaje svih zasenčenih stanja.
b) Napisati originalnu gramatiku na osnovu koje je konstruisan dati automat.
c) Napisati KONTROLNU tabelu LALR(1) parsera. Potisnu ne pisati (negativni poeni).
d) Koje je finalno stanje na vrhu steka parsera i finalni rezultat parsiranja ulazne sekvence: cacbd-|
3/4
Drugi kolokvijum iz Programskih prevodilaca 1 – SI4PP1
3. (6 poena)
Na osnovu zadate beskontekstne gramatike, u kojoj se simbol koristi za opis praznih smena,
konstruisati SLR (1) parser konfiguracionom metodom i odrediti FIRST i FOLLOW skupove.
1. <S> <A> <S> 3. <A> <A> b <S>
2. <S> 4. <A> c
Rešenje:
Akcije su: SH ili R(n), gde je n redni broj smene po kojoj treba izvršiti redukciju.
First(<S>) = First(<A>) =
Follow(<S>) = Follow(<A>) =
4/4