<?xml version="1.0" encoding="utf-8"?>
<Gradivo ID="128182" NadgradivoID="0" NRID="13103391" OceID="0" DomainUrl="https://repozitorij.uni-lj.si/" IzpisPolniUrl="https://repozitorij.uni-lj.si/IzpisGradiva.php?lang=slv&amp;id=128182" StOgledov="4320" StPrenosov="329" StOcen="0" VsotaOcen="0" DatumIzvoza="2026-09-26 14:19:31" OcenaSkupna="0" StPodgradiv="0" StudijskiProgramEvsID="1000407" JeIndeksirano="0" JeVecAvtorjev="0" DovoliZahtevkeZaDostop="0">
  <PID Url="http://hdl.handle.net/20.500.12556/RUL-128182">20.500.12556/RUL-128182</PID>
  <Naslov>Optimizacija Appelove drevesne vmesne kode</Naslov>
  <Podnaslov></Podnaslov>
  <TujJezik_Naslov>Appel&#039;s Tree intermediate representation optimisation</TujJezik_Naslov>
  <TujJezik_Podnaslov></TujJezik_Podnaslov>
  <Opis>Višjenivojski programski jeziki programerjem omogočajo pisanje bolj abstraktne in razumljive kode, poleg tega pa omogočajo večjo prenosljivost programov med različnimi sistemi. Prevajalniki za take jezike morajo znati napisan program prevesti v strojno kodo, ki se lahko izvaja na procesorski enoti, zaradi velike konkurence na trgu pa morajo poskrbeti tudi, da je generirana strojna koda učinkovita. Cilj diplomskega dela je v prevajalnik za programski jezik prev, napisan pri predmetu Prevajalniki, dodati fazo optimizacije vmesne kode ter izmeriti zmanjšanje časa izvajanja programov po optimizaciji. V diplomskem delu smo si ogledali vmesne predstavitve v sodobnih prevajalnikih in primerjali optimizacije, ki ju izvajata dva izmed najbolj popularnih prevajalnikov za programski jezik C. Prevajalnik smo nadgradili s srednjim delom, v katerem se nad Appelovo vmesno drevesno kodo izvede več različnih vrst optimizacij in jih podrobno predstavili. Delovanje prevajalnika smo preizkusili na več napisanih testnih primerih, izmerili smo čase izvajanja programov in s tem pokazali, da se optimizirani programi res izvajajo hitreje kot neoptimizirani.</Opis>
  <TujJezik_Opis>High-level programming languages allow programmers to write more abstract and understandable code, while also providing better program compatibility between different systems. Compilers for high-level languages must be able to convert high-level program to machine code that can be executed on the CPU and due to high market competitiveness, the compilers must also ensure the generated code is efficient. The goal of this thesis is to add a phase of intermediate code optimisation to the compiler that was written during the Compilers course for prev programming language, and then measure execution time improvement. In this thesis we look at the different intermediate representations used in modern compilers and compare the optimisations performed by two of the most popular compilers for the C programming language. We have enhanced the compiler by adding a middle-end, which executes a series of optimisations on Appel&#039;s tree intermediate representations. In the thesis, we also explain how these optimisations are implemented. The implemented compiler was tested using multiple benchmarks, then the execution times were measured, which confirmed that the optimized programs do in fact, run faster than non-optimized ones.</TujJezik_Opis>
  <KljucneBesede>
    <Beseda>prevajalnik</Beseda>
    <Beseda>optimizacija</Beseda>
  </KljucneBesede>
  <TujJezik_KljucneBesede>
    <Beseda>compiler</Beseda>
    <Beseda>optimization</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>2021-07-05 14:25:00</DatumVstavljanja>
  <DatumObjave>2021-07-05 14:25:05</DatumObjave>
  <DatumSpremembe>2023-11-27 12:18:42</DatumSpremembe>
  <DatumTrajnegaHranjenja>0000-00-00 00:00:00</DatumTrajnegaHranjenja>
  <LetoIzida>2021</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="104653" Ime="Niki" Priimek="Bizjak" 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="">31902</Identifikator>
    <Identifikator ID="3" Sifra="CobissID" Naziv="COBISS_ID" URL="https://plus.cobiss.net/cobiss/si/sl/bib/69335555">69335555</Identifikator>
  </Identifikatorji>
  <Datoteke>
    <Datoteka ID="144828" DatotekaNRID="11737153" 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="540261" VelikostDatotekeKratko="527,60 KB" DatumVstavljanja="2021-07-05 14:25:05" JeZbrisana="false" JeJavnoVidna="true" JeIndeksirana="true" JeVidno="true" VidnoOd="01.01.1970" Zaporedje="0">
      <Naziv>Bizjak_Niki_-_Optimizacija_Appelove_drevesne_vmesne_kode.pdf</Naziv>
      <OrgNaziv>Bizjak_Niki_-_Optimizacija_Appelove_drevesne_vmesne_kode.pdf</OrgNaziv>
      <URL></URL>
      <Opis></Opis>
      <OpisTujJezik></OpisTujJezik>
      <UrlObdelave></UrlObdelave>
      <FrekvencaAzuriranjaID>1</FrekvencaAzuriranjaID>
      <Verzija></Verzija>
      <MD5>2FFD76A33A9C7941902416F3777D8299</MD5>
      <SHA256>47b1c51f50a27de7f0f90819a9699dbf11b247c8c9cdecd8bcbd39e728fbf9ba</SHA256>
      <UUID>e57f8796-dd8b-11eb-a523-00155dcfd717</UUID>
      <PID></PID>
      <PrenosPolniUrl>https://repozitorij.uni-lj.si/Dokument.php?lang=slv&amp;id=144828</PrenosPolniUrl>
      <Vsebine>
        <Vsebina TipVsebine="GoloBesedilo" JezikID="1060" Oznaka="" Dolzina="121070"></Vsebina>
      </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>
    <Organizacija OrganizacijaID="11" Kratica="FMF" ZavodEvsID="0000064" Logo="" LogoPolniUrl="https://repozitorij.uni-lj.si/teme/rulDev/img/logo/">Fakulteta za matematiko in fiziko </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>
