Podrobno

Implementacije vezanih spremenljivk v programskih jezikih : delo diplomskega seminarja
ID Zupan Škrlj, Lovro (Avtor), ID Pretnar, Matija (Mentor) Več o mentorju... Povezava se odpre v novem oknu

.pdfPDF - Predstavitvena datoteka, prenos (374,64 KB)
MD5: CD94BECAF3EA3FCAB385D3AA33E4193B

Izvleček
Pri implementaciji programskih jezikov programe pogosto predstavljamo z abstraktnimi sintaksnimi drevesi. Pri tej strukturi moramo biti posebej pozorni na predstavitev vezanih spremenljivk. Postopka preimenovanja spremenljivk in substitucije sta nagnjena k napakam. Naivne implementacije so pogosto neučinkovite. V delu je problem vezanih spremenljivk obravnavan na lambda računu, ki je preprost programski jezik funkcij. Predstavljeni so trije standardni pristopi k implementaciji vezanih spremenljivk: naivni pristop, de Bruijnovi indeksi in abstraktna sintaksa višjega reda. Predstavljena je tudi knjižnica Bindlib za OCaml, ki omogoča preprosto, varno in učinkovito delo z vezanimi spremenljivkami. Na koncu je opisana predstavitev vezanih spremenljivk programskega jezika Millet, ki služi kot osnova za razvoj prototipnih programskih jezikov. Implementacija vezanih spremenljivk v Milletu je izvedena z uporabo knjižnice Bindlib. Razlike v učinkovitosti predstavitev vezanih spremenljivk so prikazane z eksperimentom, v katerem merimo čas izvajanja štirih pristopov.

Jezik:Slovenski jezik
Ključne besede:programski jeziki, vezane spremenljivke, OCaml
Vrsta gradiva:Delo diplomskega seminarja/zaključno seminarsko delo/naloga
Tipologija:2.11 - Diplomsko delo
Organizacija:FMF - Fakulteta za matematiko in fiziko
Leto izida:2026
PID:20.500.12556/RUL-186768 Povezava se odpre v novem oknu
UDK:004.43
COBISS.SI-ID:290144003 Povezava se odpre v novem oknu
Datum objave v RUL:05.09.2026
Število ogledov:92
Število prenosov:17
Metapodatki:XML DC-XML DC-RDF
:
Kopiraj citat
Objavi na:Bookmark and Share

Sekundarni jezik

Jezik:Angleški jezik
Naslov:Implementations of bound variables in programming languages
Izvleček:
When implementing programming languages, we usually represent computer programs as abstract syntax trees. With this representation we need to be especially careful when representing bound variables, because the implementations of variable renaming and substitution are error-prone. Naive implementations can result in poor performance. In this work, this problem is explored using the lambda calculus, which is a simple programming language of functions. Three representations of bound variables are presented: the naive approach, de Bruijn indices, and higher-order abstract syntax. The OCaml library Bindlib is also presented, as it makes working with bound variables simple, safe and efficient. Finally, the use of the Bindlib library is demonstrated with the example of the Millet programming language, which is used as a base when prototyping programming languages. The differences in the efficiency of bound variable representations are demonstrated by an experiment in which we measure the execution time of four implementations of the lambda calculus.

Ključne besede:programming languages, bound variables, OCaml

Podobna dela

Podobna dela v RUL:
Podobna dela v drugih slovenskih zbirkah:

Nazaj