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 |
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.
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.
- 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).