Cilj predmeta

Upoznavanje studenata sa problemima prevođenja sa jednog programskog jezika na drugi i principima rada programskih prevodilaca. Student će imati znanja o funkcionisanju programskih prevodilaca, znaće da koristi najčešće korištene alate za generisanje skenera i parsera (Lex i Yacc) i znaće da razvije samostalni leksički analizator (skener), samostalni sintaksni analizator (parser), kao i kompletan kompajler koji obuhvata sve faze prevođenja. Upoznaće se sa dva osnovna načina parsiranja – uzlazno i silazno parsiranje i dvije osnovne vrste kontekstno nezavisnih gramatika – LR i LL gramatike. Student će biti osposobljen da razvije analizator za proizvoljan tekstualni ulaz.

Šifra predmeta: Status predmeta: Semestar: Fond časova (P+A+L): ECTS bodova:
RN-PPR O VI 2+0+2 6

Ishodi učenja (stečena znanja)

Sadržaj predmeta

Uvod u prevodioce. Zadatak programskih prevodilaca. Vrste programskih jezika. Vrste programskih  prevodilaca. Formalni jezici. Formalni  gramatike. Formalni automati. Leksička analiza. Sintaksna analiza. Semantička analiza. Generisanje (među) koda. Optimizacija (među) koda.

Metode nastave i savladavanje gradiva

Nastava se izvodi u obliku predavanja, auditornih vježbi i vježbi na računaru. Učenje, testovi, domaći radovi, seminarski rad i konsultacije.

Oblici provjere znanja i ocjenjivanje

  • Kolokvijum 1 (0-15 bodova);
  • Kolokvijum 2 (0-15 bodova);
  • Završni ispit (0-50 bodova);
  • Seminar-i (0-10 bodova);
  • Aktivnosti na nastavi (0-10 bodova).