Opterećenje:
|
1. komponenta
Vrsta nastave | Ukupno |
Predavanja |
45 |
* Opterećenje je izraženo u školskim satima (1 školski sat = 45 minuta)
|
Opis predmeta:
|
CILJ KOLEGIJA:
Osposobiti studenta za praktičnu interpretaciju programa napisanih u raznovrsnim i modernim programskim jezicima.
NASTAVNI SADRŽAJI:
I. Uvod i motivacija.
1. Veze s Chomskyjevom hijerarhijom, lekseri, parseri, interpreteri.
II. Praktična interpretacija programa.
1. Programska podrška za praktičnu interpretaciju programa, jednostavni primjeri parsera i interpretera, optimizacije, otkrivanje i dojava grešaka.
2. Razine prioriteta i njihova asociranost, rekurzivno i iterativno parsiranje, implicitni operatori i lookahead, jednostavan primjer prevoditelja.
3. Implementacija rudimentarne memorije, nelokalna kontrola toka, jednostavni kontekstni uvjeti.
4. Rekurzivni pozivi funkcija, nelokalni prijenos konteksta i povratne vrijednosti.
5. Interpretacija programa za razne univerzalne (i slabije) modele izračunavanja.
6. Izvršavanje na stranom virtualnom stroju, konstrukcija okoline izvođenja i ulaz iz datoteke.
7. Parsiranje markup jezika.
8. Statički typing te određivanje i provjera tipova, pretvorivost tipova, deklaracije varijabli i simbolička tablica pri prevođenju.
9. Složeniji primjeri.
|
Literatura:
|
-
Parsing Techniques: A Practical Guide, 2nd edition, D. Grune, C. J. H. Jacobs, Springer, 1990.
-
Compilers: Principles, Techniques and Tools, 2nd edition, A. Aho, M. Lam, R. Sethi, J. Ullman, Addison Wesley, 2006.
-
Introduction to the Theory of Computation, 3rd edition, M. Sipser, Cengage Learning, 2013.
|
Preduvjeti za:
|
Upis predmeta
:
Odslušan
:
Modeli izračunavanja
Polaganje predmeta
:
Položen
:
Modeli izračunavanja
|