<?xml version="1.0" encoding="utf-8"?>
<Gradivo ID="180746" NadgradivoID="0" NRID="28298463" OceID="0" DomainUrl="https://repozitorij.uni-lj.si/" IzpisPolniUrl="https://repozitorij.uni-lj.si/IzpisGradiva.php?lang=slv&amp;id=180746" StOgledov="259" StPrenosov="131" StOcen="0" VsotaOcen="0" DatumIzvoza="2026-09-26 18:21:21" OcenaSkupna="0" StPodgradiv="0" StudijskiProgramEvsID="1000468" JeIndeksirano="0" JeVecAvtorjev="0" DovoliZahtevkeZaDostop="0">
  <PID Url="http://hdl.handle.net/20.500.12556/RUL-180746">20.500.12556/RUL-180746</PID>
  <Naslov>Prevajanje javanske zložne kode v zbirni jezik RISC-V</Naslov>
  <Podnaslov></Podnaslov>
  <TujJezik_Naslov>Compiling JVM bytecode to RISC-V assembly</TujJezik_Naslov>
  <TujJezik_Podnaslov></TujJezik_Podnaslov>
  <Opis>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.</Opis>
  <TujJezik_Opis>Compilers are pieces of software that translate computer code from one programming language to another. A common use case for compilers is translating from high-level to low-level languages. An example of a high-level language is Java. Compilers for Java generally compile to JVM bytecode, not machine code. In order to run Java programs, JVM bytecode must therefore first be translated to an assembly or machine language, known by some processor or family of processors. This thesis presents an implementation of one such compiler.
The presented compiler compiles to the assembly language used by RISC-V, an open instruction set architecture. It is not an interpreter, working as part of a Java virtual machine, which is standard practice, but is instead a program that takes JVM bytecode, written in the form of a .class file, and compiles it to RISC-V assembly. This approach can potentially speed up program execution, but it requires a full compilation, while interpreters can run bytecode immediately.</TujJezik_Opis>
  <KljucneBesede>
    <Beseda>prevajalnik</Beseda>
    <Beseda>java</Beseda>
    <Beseda>zložna koda</Beseda>
    <Beseda>riscv</Beseda>
  </KljucneBesede>
  <TujJezik_KljucneBesede>
    <Beseda>compiler</Beseda>
    <Beseda>java</Beseda>
    <Beseda>bytecode</Beseda>
    <Beseda>riscv</Beseda>
  </TujJezik_KljucneBesede>
  <Potrjeno>true</Potrjeno>
  <JeZaklenjeno>false</JeZaklenjeno>
  <JeRecenzirano>false</JeRecenzirano>
  <Zaloznik></Zaloznik>
  <Izvor></Izvor>
  <Jezik ID="1060" ISO639-3="slv">Slovenski jezik</Jezik>
  <TujJezik ID="1033" ISO639-3="eng">Angleški jezik</TujJezik>
  <Povezave></Povezave>
  <Pokrivanje></Pokrivanje>
  <CasovnoPokritje></CasovnoPokritje>
  <AvtorskePravice></AvtorskePravice>
  <VrstaGradiva ID="mb11" DRIVER="info:eu-repo/semantics/bachelorThesis">Diplomsko delo/naloga</VrstaGradiva>
  <DatumVstavljanja>2026-03-16 11:40:11</DatumVstavljanja>
  <DatumObjave>2026-03-16 11:40:18</DatumObjave>
  <DatumSpremembe>2026-04-17 06:42:55</DatumSpremembe>
  <DatumTrajnegaHranjenja>0000-00-00 00:00:00</DatumTrajnegaHranjenja>
  <LetoIzida>2026</LetoIzida>
  <LetoIzidaDo>0</LetoIzidaDo>
  <KrajIzida></KrajIzida>
  <LetoIzvedbe>0</LetoIzvedbe>
  <KrajIzvedbe></KrajIzvedbe>
  <Opomba></Opomba>
  <StStrani></StStrani>
  <StevilcenjeNivo1></StevilcenjeNivo1>
  <StevilcenjeNivo2></StevilcenjeNivo2>
  <Kronologija></Kronologija>
  <Patent_Stevilka></Patent_Stevilka>
  <Patent_DatumVeljavnosti>0000-00-00</Patent_DatumVeljavnosti>
  <VerzijaDokumenta>NiDoloceno</VerzijaDokumenta>
  <StatusObjaveDrugje>NiDoloceno</StatusObjaveDrugje>
  <VrstaStroskaObjave>NiDoloceno</VrstaStroskaObjave>
  <DatumPoslanoVRecenzijo>0000-00-00</DatumPoslanoVRecenzijo>
  <DatumSprejetjaClanka>0000-00-00</DatumSprejetjaClanka>
  <DatumObjaveClanka>0000-00-00</DatumObjaveClanka>
  <EmbargoDo></EmbargoDo>
  <VrstaEmbarga ID="1" Naziv="Takojšnja javna objava" OpenAIREDostop="openAccess"></VrstaEmbarga>
  <Osebe>
    <Oseba ID="157470" Ime="Karim" Priimek="El Habashy" AltIme="" VlogaID="70" VlogaNaziv="Avtor" ConorID="" Afiliacija="" ArrsID="0" ORCID=""></Oseba>
    <Oseba ID="23518" Ime="Boštjan" Priimek="Slivnik" AltIme="" VlogaID="991" VlogaNaziv="Mentor" ConorID="3746915" Afiliacija="" ArrsID="12766" ORCID=""></Oseba>
  </Osebe>
  <Identifikatorji>
    <Identifikator ID="16" Sifra="VisID" Naziv="VisID" URL="">38136</Identifikator>
    <Identifikator ID="3" Sifra="CobissID" Naziv="COBISS_ID" URL="https://plus.cobiss.net/cobiss/si/sl/bib/275526403">275526403</Identifikator>
  </Identifikatorji>
  <Datoteke>
    <Datoteka ID="230520" DatotekaNRID="14623212" NamenDatotekeID="2" NamenDatoteke="Predstavitvena datoteka" FormatDatotekeID="2" FormatDatoteke=".pdf" MIME="application/pdf" IkonaFormata="pdf.png" IkonaFormataPolniUrl="https://repozitorij.uni-lj.si/teme/rulDev/img/fileTypes/pdf.png" VelikostDatoteke="656188" VelikostDatotekeKratko="640,81 KB" DatumVstavljanja="2026-03-16 11:40:22" JeZbrisana="false" JeJavnoVidna="true" JeIndeksirana="false" JeVidno="true" VidnoOd="01.01.0001" Zaporedje="0">
      <Naziv>El_habashy_Karim_-_Prevajanje_javanske_zlozne_kode_v_zbirni_jezik_RISC-V.pdf</Naziv>
      <OrgNaziv>El_habashy_Karim_-_Prevajanje_javanske_zlozne_kode_v_zbirni_jezik_RISC-V.pdf</OrgNaziv>
      <URL></URL>
      <Opis></Opis>
      <OpisTujJezik></OpisTujJezik>
      <UrlObdelave></UrlObdelave>
      <FrekvencaAzuriranjaID>1</FrekvencaAzuriranjaID>
      <Verzija></Verzija>
      <MD5>32F8C1DACC554B5E28F5EE65E9C886CA</MD5>
      <SHA256>ccb55d6ade2fd610ef1d235385f6269135a7eed053dcc290edf868349e1e7477</SHA256>
      <UUID>7bb54961-2124-11f1-b0ab-0050569b8976</UUID>
      <PID></PID>
      <PrenosPolniUrl>https://repozitorij.uni-lj.si/Dokument.php?lang=slv&amp;id=230520</PrenosPolniUrl>
      <Vsebine>
      </Vsebine>
    </Datoteka>
  </Datoteke>
  <Organizacije>
    <Organizacija OrganizacijaID="25" Kratica="FRI" ZavodEvsID="0000066" Logo="" LogoPolniUrl="https://repozitorij.uni-lj.si/teme/rulDev/img/logo/">Fakulteta za računalništvo in informatiko</Organizacija>
  </Organizacije>
  <OrganizacijeVira>
  </OrganizacijeVira>
  <MetodeZbiranjaPodatkov>
  </MetodeZbiranjaPodatkov>
  <TipologijaDela ID="2.11" Koda="2.11" Naziv="Diplomsko delo" SchemaOrg="Thesis"></TipologijaDela>
  <Ostalo>
    <StIrodsDatotek>0</StIrodsDatotek>
    <StDatotekPodTrajnimEmbargom>0</StDatotekPodTrajnimEmbargom>
    <StDatotekZOmejenimDostopom>0</StDatotekZOmejenimDostopom>
  </Ostalo>
</Gradivo>
