skip to content
Dévai Gergely @ ELTE
User Tools
Log In
Site Tools
Search
Tools
Show pagesource
Old revisions
Backlinks
Recent Changes
Media Manager
Sitemap
Log In
>
Recent Changes
Media Manager
Sitemap
Trace:
•
MSc Fordítóprogramok
Sidebar
Info
in English
en Esperanto
magyarul
ELTE
Órarend
Timetable
BSc Formális nyelvek és fordítóprogramok (B szakirány)
MSc Fordítóprogramok
BSc Fordítóprogramok (kifutó tárgy)
Compilers
Software Technology Lab
Research
Research
mscfordprog
MSc Fordítóprogramok
Tananyag
Flex, Bison, C++:
1. példaszoftver
gyakorlati feladatok
Regiszterallokáció:
diasor
,
gráfszínezés
,
példa
Kódoptimalizáció:
diasor
gráfépítés
gcc példák
Xtext:
2. példaszoftver
gyakorlati feladatok
Xtext bevezető
Xbase és Xtend bevezető
Xtend dokumentáció
EMF (kiegészítő anyag érdeklődőknek)
Szemétgyűjtő algoritmusok
diasor
cikk
Java szemétgyűjtés (1-18. slideok)
Just In Time Compilation (JIT)
diasor
(
tail call elimination
,
devirtualization
,
Varargs Collection Factory Method
,
loop inversion
,
loop versioning
,
partial redundancy elimination
,
dynamic deoptimization
)
Nyelvbeágyazás:
3. példaszoftver
gyakorlati feladatok
Gráfredukció
segédanyag
példák
strictness analysis
SSA
,
LLVM
Vizsgatematika
Hagyományos fordítóprogramok
Fordítási és futási idő, fordítás lépései, forrás- és tárgykód
Lexikális- és szintaktikuselemző-generátorok, környezetfüggetlen nyelvtan és akciókódok
Szintaxisfa, szimbólumtábla, szemantikus értékek
Assembly, kódgenerálási szabályok
Interpretálás
Értéktábla vs. szimbólumtábla
Interpretálás és szintaxisfa kapcsolata
Nyelvi konstrukciók végrahajtási szabályai
Bájtkód és virtuális gép fogalma
JIT
Célja, előnyei, hátrányai
Profilozás fogalma, célja a JIT technológiában
Hot spot fogalma
Kódoptimalizálás
Kódoptimalizáció fajtái és céljai
Lokális optimlizáció
Alapblokk fogalma
Azonos kifejezések többszöri kiszámításának elkerülése
Gráfépítés alapblokk utasításaiból, címkézés, memóriába írás hatása
Gráf leképezése optimalizált kóddá
Ablakoptimalizálás
Globális optimalizáció
Regiszterallokáció
Virtuális regiszterek fogalma és ezeket használó kódgenerálási szabályok
Regiszterallokáció feladata
Ekvivalens gráfszínezési feladat, a feladat bonyolultsága, interferenciagráf
Gráfszínezés megoldása, heurisztikák
Kromatikus szám és fizikai regiszterszám, memóriában tárolás regiszter helyett
Vezérlésfolyam gráf fogalma
Cikluskifejtés, erős redukció, elágazásokkal kapcsolatos transzformációk
LLVM
SSA fogalma, Phi függvény
LLVM frontend, backend, transzformációk, Pass manager
szerializált formátumok
LLVM
API
, iterátorok, visitor pattern
Nyelv-implementációs keretrendszerek
DSL, belső és külső DSL fogalma
Elvárt IDE szolgáltatások
Eclipse technológiák
Xtext, Xbase, EMF/Ecore, Xtend lényege és összefüggései
Xtext nyelvtan és kiterjesztései, automatizált szintaxisfa-építés
Szemétgyűjtés
Célja, előnyei és hátrányai
Hivatkozásszámlálás módszere és korlátai
Jelölő-kisöprő algoritmus, memőriatöredezettség
Másoló szemétgyűjtés, szükséges memőriatöbblet
Generációs szemétgyűjtés
Java által használt megoldások
Nyelvbeágyazás
Sekély és mély beágyazás; interpretálás és fordítás lehetőségei
Haskell technológiák
Monádok, GADT, Num osztály szerepe a nyelvbeágyazásban
Funkcionális nyelvek végrehajtása
Redex, normálforma, legbelső és legkülső redex
Lusta kiértékelés, összefüggés a nyelv szemantikájával
Term- és gráfátírás
Részkifejezések megosztása és tisztaság
mscfordprog.txt
· Last modified: 2019/05/29 09:54 by
deva
Page Tools
Show pagesource
Old revisions
Backlinks
Back to top