You are on page 1of 4

Drugi kolokvijum iz Programskih prevodilaca 1 – SI4PP1

Elektrotehnički fakultet u Beogradu


Odsek za Softversko inženjerstvo

Predmet: Programski prevodioci 1


Nastavnik: dr Dragan Bojić, vanr. prof.
Asistenti: dipl.ing. Nemanja Kojić
dipl.ing. Maja Vukasović
Ispitni rok: Drugi kolokvijum u školskoj 2017/2018.
Datum: 02.12.2017.

Kandidat: _____________________________________________________________

Broj Indeksa: ________________ Odsek:_______________________________________

Kolokvijum traje 90 minuta.

Nije dozvoljeno korišćenje literature.

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:

Potisna tabela Kontrolna tabela

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

You might also like