Kandidat: Cifer Nejc
Naslov diplomskega dela: Prevajalnik za podmnožico jezika C
Povzetek:
V diplomski nalogi je predstavljen razvoj prevajalnika za podmnožico programskega jezika C, pri čemer je ciljna arhitektura ARM. Prevajalnik je zasnovan tako, da iz vhodne izvorne kode v jeziku C ustvari zbirno kodo za 32-bitno ARM arhitekturo. Podprtih je večina elementov jezika C, ki so definirani v standardu ANSI C. V nalogi so podrobno opisani vsi glavni gradniki prevajalnika, vključno z leksikalno, sintaksno in semantično analizo ter generiranjem vmesne in zbirne kode. Poseben poudarek je namenjen pravilnemu prevajanju konstrukcij v zbirni jezik ARM, ob upoštevanju značilnosti arhitekture, kot sta omejeno število registrov in način naslavljanja pomnilnika. Na koncu naloge so predstavljeni primeri prevedenih programov in rezultati testiranja delovanja prevajalnika.
Mentor: doc. dr. Boštjan Slivnik
Kandidat: El Habashy Karim
Naslov diplomskega dela: Prevajanje javanske zložne kode v zbirni jezik RISC-V
Povzetek:
Prevajalniki so na splošno programi, ki računalniško kodo prevajajo iz enega programskega jezika v drugega. Pogost primer uporabe prevajalnikov je prevod iz visokonivojskih programskih jezikov v nizkonivojske. Med visokonivojske programske jezike spada jezik Java, za katerega obstaja več implementacij prevajalnikov, ki prevajajo v javansko zložno kodo, ne neposredno v strojni jezik. Za dejansko izvedbo teh programov je torej potreben še prevod v strojni ali zbirni jezik, ki ga pozna nek procesor oziroma družina procesorjev. V diplomskem delu je predstavljena implementacija takšnega prevajalnika.
Izdelan prevajalnik prevaja iz javanske zložne kode v zbirni jezik odprtega standarda nabora ukazov arhitekture RISC-V. Ne deluje kot tolmač v okviru javanskega navideznega stroja, kar je sicer pogosti način implementacije, ampak je zgolj program, ki sprejme javansko zložno kodo v obliki .class datoteke in izpiše prevedeno kodo v RISC-V zbirnem jeziku. Takšen pristop omogoča potencialno pohitritev izvajanja programov, ampak za razliko od tolmačev zahteva popoln prevod pred zagonom.
Mentor: doc. dr. Boštjan Slivnik
Komisija za zagovor:
doc. dr. Luka Fürst, predsednik
doc. dr. Uroš Čibej, član
doc. dr. Boštjan Slivnik, mentor
Prostor: Sejna soba 3