User Tools

Site Tools


mscfordprog

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
mscfordprog [2019/04/23 21:41]
deva
mscfordprog [2019/05/29 09:54] (current)
deva
Line 26: Line 26:
     * [[https://​wiki.haskell.org/​Performance/​Strictness|strictness analysis]]     * [[https://​wiki.haskell.org/​Performance/​Strictness|strictness analysis]]
   * [[http://​www.cs.cmu.edu/​afs/​cs/​academic/​class/​15745-s13/​public/​lectures/​L13-SSA-Concepts-1up.pdf|SSA]],​ [[http://​www.cs.cmu.edu/​afs/​cs/​academic/​class/​15745-s15/​public/​lectures/​L6-LLVM2-1up.pdf|LLVM]]   * [[http://​www.cs.cmu.edu/​afs/​cs/​academic/​class/​15745-s13/​public/​lectures/​L13-SSA-Concepts-1up.pdf|SSA]],​ [[http://​www.cs.cmu.edu/​afs/​cs/​academic/​class/​15745-s15/​public/​lectures/​L6-LLVM2-1up.pdf|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.1556048489.txt.gz · Last modified: 2019/04/23 21:41 by deva