Transleerimismeetodid
Üldinfo
-
Aine kood: MTAT.03.235
-
Lektor: Varmo Vene
-
Ainepunkte: 6 EAP
-
Loengute toimumise aeg/koht:
-
Esmaspäev, 14.15 - 16.00, L405
-
Kolmapäev, 16.15 - 18.00, L405
-
Kirjandus:
- A. Aho, R. Sethi, J. Ullman.
Compilers:
Principles, Techniques, and Tools.
Addison Wesley, 1986.
- K. Louden.
Compiler
Construction: Principles and Practice.
Course Technology Inc, 1997.
- R. Wilhelm, D. Maurer.
Compiler Design.
Addison Wesley, 1995.
- R. Wilhelm, H. Seidl.
Übersetzerbau
- Virtuelle Maschinen.
Springer, 2007.
- P. Wilson.
Uniprocessor
Garbage Collection Techniques.
University of Texas, 1994.
Loengute materjalid
-
01. 09 - Sissejuhatus, interpretaatorid ja kompilaatorid,
kompilaatori struktuur, abstraktsed masinad (tm-intro.pdf).
-
06. 09 - Leksiline analüüs: regulaaravaldised ja lõplikud
automaadid,
Thompsoni konstruktsioon, DFA konstrueerimine NFA-st
(tm-lex.pdf).
-
08. 09 - Leksiline analüüs: DFA konstrueerimine NFA-st,
DFA minimiseerimine.
-
13. 09 - Leksiline analüüs: DFA minimiseerimine, leksiliste
analüsaatorite generaator Flex.
-
15. 09 - Süntaksanalüüs: kontekstivabad grammatikad, mitmesus
(tm-syn.pdf).
-
20. 09 - Süntaksanalüüs: ülalt-alla parsimine, vasakrekursiooni
elimineerimine, vasakfaktoriseerimine.
-
22. 09 - Süntaksanalüüs: LL(1) grammatikad, ennustav
parsimine.
-
27. 09 - Süntaksanalüüs: alt-üles parsimine, shift-reduce
parserid, LR(0)-grammatikad.
-
29. 09 - Süntaksanalüüs: LR(0)- ja SLR(1)-grammatikad.
-
04. 10 - Süntaksanalüüs: LR(k)-grammatikad.
-
06. 10 - Semantiline analüüs, atribuutgrammatikad, parserite
generaator Bison (tm-sem.pdf).
-
11. 10 - CMa arhitektuur, lihtsate avaldiste ja omistamise
transleerimine; lausete transleerimine
(tm-cma.pdf).
-
13. 10 - Massiivid, kirjed ja staatiline mäluhaldus; viidad ja
dünaamiline mäluhaldus.
-
18. 10 - Funktsioonid, kogu programmi transleerimine.
-
20. 10 - Funktsionaalne keel PuF, MaMa arhitektuur, lihtsate avaldiste
transleerimine
(tm-mama.pdf).
-
27. 10 - Ligipääs muutujatele, abstraktsiooni ja aplikatsiooni
transleerimine.
-
01. 11 - Lokaased definitsioonid, sulundid ja nende
väärtustamine.
-
03. 11 - Kogu programmi transleerimine, struktuursed andmetüübid,
sabarekursioon.
-
08. 11 - Loogiline keel Proll, WiM arhitektuur, termide ja
eesmärkide transleerimine
(tm-wim.pdf).
-
15. 11 - Unifitseerimine; reeglite, predikaatide, päringute ja
kogu programmi transleerimine.
-
17. 11 - Sabarekursioon, freimi trimmimine, reeglite
indekseerimine, lõikeoperaator.
-
22. 11 - Prügikoristus: "reference counting", "mark-sweep",
Deutsch-Schorr-Waite'i algoritm, "mark-compact", "copying"
(tm-gc.pdf).
-
24. 11 - Cheney algoritm, põlvkondadega prügikoristus,
"rongi" algoritm.
-
29. 11 - Registrite allokeerimine
(tm-reg.pdf).
-
13. 12 - Projektide arutelu.
Viited
Varmo Vene