FAKULTETA ZA ELEKTROTEHNIKO, RAČUNALNIŠTVO IN INFORMATIKO


Učna enota
 PREVAJANJE PROGRAMSKIH JEZIKOV 
https://aips.um.si/PredmetiBP5/UcnaEnotaInfo.asp?Zavod=15&Jezik=&Leto=2020&Nacin=1&Predmet=61U021

Šifra učne enote    61U021 2020

Nivo Študijkski program ali njegov del Letnik Semester
1 BU20 RAČUNALNIŠTVO IN INFORMACIJSKE TEHNOLOGIJE 2 Poletni

ECTS točke 6

Ure - Predavanja 30
Ure - Seminarske vaje 3
Ure - Računalniške vaje 42
Ure - Samostojno delo študenta 105

Nosilci
red. prof. dr. MERNIK MARJAN

Jeziki predavanj slovenski
Jeziki vaj slovenski

Pogoji za vključitev v delo oz. za opravljanje študijskih obveznosti
Pogojev ni. 
Vsebina
• Uvod v prevajalnike: prevajanje in interpretiranje programov, osnovna zgradba prevajalnikov. • Leksikalna analiza: regularni izrazi, deterministični končni avtomat, nedeterministični končni avtomat, lastnosti regularnih jezikov, implementacija leksikalnega analizatorja. • Sintaktična analiza: razredi gramatik, drevo izpeljave, normalna oblika po Chomskem, normalna oblika po Greibachovi, BNF in sintaktični diagrami, razpoznavanje od zgoraj navzdol, razpoznavanje od spodaj navzgor, skladovni avtomati in kontekstno neodvisni jeziki, lastnosti kontekstno neodvisnih jezikov, razpoznavalnik z vračanjem, razpoznavalnik LL(k), razpoznavalnik LR(k). • Semantična analiza: sintaktično usmerjeno prevajanje, atributne gramatike vrste S in L, absolutno neciklične atributne gramatike. • Generiranje in optimizacija kode. Denotacijska in operacijska semantika. • Generatorji prevajalnikov. • Praktična uporaba v programskem inženirstvu: razpoznavanje XML, uporaba regularnih izrazov, sistemi, temelječi na gramatikah.  
Temeljni literatura in viri
A. V. Aho, M. S. Lam, R. Sethi, J. D. Ullman: Compilers – Principles, Techniques, and Tools, Second Edition, Addison-Wesley, Reading, 2006. A. V. Aho, R. Motwani, J. D. Ullman: Introduction to Automata Theory, Languages, and Computation, Third Edition, Addison-Wesley, Reading, 2006. A. W. Appel: Modern Compiler Implementation in Java, Cambridge University Press, Cambridge, 1997. B. Vilfan: Prevajanje programskih jezikov, I. del, Univerza v Ljubljani, Fakulteta za elektrotehniko in računalništvo, Ljubljana, 1991. 
Cilji in kompetence
Cilj tega predmeta je razumeti osnovne pojme iz teorije avtomatov in jezikov in njihovo praktično uporabo pri prevajanju programskih jezikov. 
Predvideni študijski rezultati - znanje in razumevanje
Po zaključku tega predmeta bo študent sposoben razumeti osnovne pojme iz teorije avtomatov in jezikov, razumeti tehnike, ki se uporabljajo pri prevajanju/ interpretaciji programov, načrtovati in implementirati prevajalnik/intepreter, uporabljati generatorje prevajalnikov, uporabiti pridobljeno znanje na praktičnih primerih s področja programskega inženirstva. 
Predvideni študijski rezultati - Prenosljive/ključne spretnosti in drugi atributi
Spretnosti komuniciranja: ustni zagovor laboratorijskih vaj, pisno izražanje pri pisnem izpitu. Uporaba informacijske tehnologije: uporaba generatorjev prevajalnikov. Reševanje problemov: implementacija prevajalnika/ interpreterja. 
Metode poučevanja in učenja
• Predavanja, • laboratorijske vaje.  

Načini ocenjevanja Delež (%)
Laboratorijske vaje 50  
1. kolokvij 25  
2. kolokvij 25  
Opombe
Kolokvija se lahko nadomestita s pisnim izpitom v deležu 50 %. 
[EOP]