Cilj
Ishod
Metode izvodjenja nastave
Sadržaj
Literatura
Stečena znanja o konceptima i karakteristikama savremenih prevodilaca omogućavaju studentima da objasne i analiziraju načine implementacije programskih jezika, što direktno utiče i na izbor odgovarajućih jezika i njihovu primenu u projektovanju savremenih softverskih aplikacija. Pored toga, stečena znanja o razvijenim alatima zasnovanim na generatorima parsera studenti mogu primeniti u razvoju i implementaciji domensko-specifičnih jezika.
Teorijska nastava
Uvod u programske prevodioce. Leksička analiza: regularni izrazi i konačni automati. Sintaksna analiza. Vrste parsera:
parsiranje odozdo na gore i odozgo na dole. Semantička analiza. Izvršno okruženje. Generisanje medjukoda. Generisanje koda.
Optimizacija koda. Interpreteri i Hibridni implementacioni sistemi. Pregled alata za generisanje skenera i parsera.
Korišćenje alata zasnovanih na generatorima parsera za razvoj i implementaciju izabranog domensko-specifičnog jezika.
Praktična nastava
Vežbe prate predavanja. Na vežbama studenti dobijaju praktična znanja o konceptima i karakteristikama programskih
prevodilaca i razvijenim alatima za njihovu implementaciju.
1. Aho A.V., Lam M.S., Sethi R.,
Ullman J.D.
Compilers: Principles, Techniques, and Tools, Second
edition Addison-Wesley 2006
2. Mogensen T. Introduction to Compiler Design, Second edition Springer International
Publishing 2017
