16.
mar
Zagovori diplomskih del: Cifer, El Habashy
ob 10:00

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