C forráskódból adatfolyamgráf előállítása

OData támogatás
Konzulens:
Suba Gergely
Irányítástechnika és Informatika Tanszék

Egyre nagyobb az igény, hogy általános célú, magas szintű programozási nyelvekből is lehessen hardvert szintetizálni, minimális beavatkozással. A magas szintű szintézis (HLS, High-level synthesis) sok esetben gyorsabb és kevesebb költségekkel járó hardverfejlesztést tesz lehetővé.

Ilyen rendszer az Irányítástechnika és Informatika Tanszéken fejlesztett PipeComp, amely magas szintű nyelvekből hardverleírást generál. A PipeComp programozási nyelveket feldolgozó frontendekből és hardverleírást generáló backendekből áll. A PipeComp köztes reprezentációja a HIG adatfolyamgráf.

A dolgozat témája a PipeComp részeként egy C forráskódból HIG adatfolyamot fordító szoftver fejlesztése. A szoftver Java nyelven, az ANTLR parszergenerátor felhasználásával készült.

A dolgozat ismerteti a fordítóprogramok általános működését, röviden bemutatja a legnépszerűbb parszergenerátorokat, és néhány jellegzetes, adatfolyamokon végezhető elemzést. Leírja a fejlesztendő szoftver pontos specifikációját, a szoftver tervezésének lépéseit, az implementáció fontosabb részleteit, kitérve a parszolásra, SSA (static single assignment) formára alakításra, és az adatfolyamgráf elkészítésére. Végül bemutatja pár jellegzetes példán keresztül a szoftver tényleges működését is, külön tesztelve az összetett kifejezéseket, tömböket és struktúrákat, elágazásokat és a ciklusokat.

Letölthető fájlok

A témához tartozó fájlokat csak bejelentkezett felhasználók tölthetik le.