<?xml version="1.0" encoding="utf-8"?>
<Gradivo ID="162807" NadgradivoID="0" NRID="25186333" OceID="0" DomainUrl="https://repozitorij.uni-lj.si/" IzpisPolniUrl="https://repozitorij.uni-lj.si/IzpisGradiva.php?lang=slv&amp;id=162807" StOgledov="729" StPrenosov="223" StOcen="0" VsotaOcen="0" DatumIzvoza="2026-09-20 15:34:54" OcenaSkupna="0" StPodgradiv="0" StudijskiProgramEvsID="1000407" JeIndeksirano="0" JeVecAvtorjev="0" DovoliZahtevkeZaDostop="0">
  <PID Url="http://hdl.handle.net/20.500.12556/RUL-162807">20.500.12556/RUL-162807</PID>
  <Naslov>Prevajanje funkcijskega programskega jezika v WebAssembly</Naslov>
  <Podnaslov></Podnaslov>
  <TujJezik_Naslov>Compilation of a functional programming language to WebAssembly</TujJezik_Naslov>
  <TujJezik_Podnaslov></TujJezik_Podnaslov>
  <Opis>WebAssembly je z dodatkom objektov na kopici postal še bolj privlačen programski jezik, saj lahko vanj brez dodatnega truda prevajamo tudi jezike, ki uporabljajo smetarja. V okviru tega diplomskega dela smo se odločili prevesti funkcijski jezik Millet v WebAssembly. V tem delu najprej predstavimo oba jezika in nato opišemo, kako je bil Millet preveden v WebAssembly. Prevod je direkten, in sicer vsakemu ukazu določimo, v katere WebAssembly ukaze se bo prevedel, poleg tega moramo določiti še nekaj tipov, potrebnih za pravilno izvajanje ter validacijo prevedene kode. Prevedena koda se izvaja pravilno in v vsakem primeru prehiti Milletovo izvorno kodo za vsaj dvestokrat. Ker koda ni optimizirana, še vedno potrebuje nekaj izboljšav, da bo njeno delovanje bolj primerljivo s programi napisanimi v WebAssembly-ju.</Opis>
  <TujJezik_Opis>WebAssembly has become an even more attractive target programming language with the addition of heap objects, allowing many languages to be compiled into WebAssembly without the additional effort of translating their garbage collectors as well. In this thesis, we decided to compile the functional language Millet into WebAssembly. In this work, we first introduce both languages and then describe how Millet was compiled into WebAssembly. The translation is direct, meaning that each Millet instruction is mapped it to the corresponding WebAssembly instructions. We also had to specify the appropriate types for correct execution and validation of the compiled code. The translated code runs correctly and outperforms Millet’s original code by at least two hundred times in every case. Since the code is not yet optimized, it still requires a few improvements to perform more comparably to programs written directly in WebAssembly.</TujJezik_Opis>
  <KljucneBesede>
    <Beseda>prevajalniki</Beseda>
    <Beseda>WebAssembly</Beseda>
    <Beseda>funkcijski programski jeziki</Beseda>
  </KljucneBesede>
  <TujJezik_KljucneBesede>
    <Beseda>compilers</Beseda>
    <Beseda>WebAssembly</Beseda>
    <Beseda>functional programming languages</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>2024-09-27 10:55:01</DatumVstavljanja>
  <DatumObjave>2024-09-27 10:55:06</DatumObjave>
  <DatumSpremembe>2024-11-11 09:42:38</DatumSpremembe>
  <DatumTrajnegaHranjenja>0000-00-00 00:00:00</DatumTrajnegaHranjenja>
  <LetoIzida>2024</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="139165" Ime="Krištof" Priimek="Ocvirk" AltIme="" VlogaID="70" VlogaNaziv="Avtor" ConorID="" Afiliacija="" ArrsID="0" ORCID=""></Oseba>
    <Oseba ID="120200" Ime="Matija" Priimek="Pretnar" AltIme="" VlogaID="991" VlogaNaziv="Mentor" ConorID="" Afiliacija="" ArrsID="0" ORCID=""></Oseba>
  </Osebe>
  <Identifikatorji>
    <Identifikator ID="16" Sifra="VisID" Naziv="VisID" URL="">37280</Identifikator>
    <Identifikator ID="3" Sifra="CobissID" Naziv="COBISS_ID" URL="https://plus.cobiss.net/cobiss/si/sl/bib/214439939">214439939</Identifikator>
  </Identifikatorji>
  <Datoteke>
    <Datoteka ID="192239" DatotekaNRID="13934708" 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="209766" VelikostDatotekeKratko="204,85 KB" DatumVstavljanja="2024-09-27 10:55:06" JeZbrisana="false" JeJavnoVidna="true" JeIndeksirana="true" JeVidno="true" VidnoOd="01.01.1970" Zaporedje="0">
      <Naziv>Ocvirk_Kristof_-_Prevajanje_funkcijskega_programskega_jezika_v_WebAssembly.pdf</Naziv>
      <OrgNaziv>Ocvirk_Kristof_-_Prevajanje_funkcijskega_programskega_jezika_v_WebAssembly.pdf</OrgNaziv>
      <URL></URL>
      <Opis></Opis>
      <OpisTujJezik></OpisTujJezik>
      <UrlObdelave></UrlObdelave>
      <FrekvencaAzuriranjaID>1</FrekvencaAzuriranjaID>
      <Verzija></Verzija>
      <MD5>5F9A426A758ABDC7D267FC6CB96D7EC2</MD5>
      <SHA256>cfd3026c13df35d12f704f8299acf9e5712e2df93398f81c1462a611975afc1e</SHA256>
      <UUID>10da174a-7cae-11ef-b232-0050569b8976</UUID>
      <PID></PID>
      <PrenosPolniUrl>https://repozitorij.uni-lj.si/Dokument.php?lang=slv&amp;id=192239</PrenosPolniUrl>
      <Vsebine>
        <Vsebina TipVsebine="GoloBesedilo" JezikID="1060" Oznaka="" Dolzina="48673"></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>
  </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>
