diplomsko delo
Žiga Leskovec (Author), Boštjan Slivnik (Mentor)

Abstract

V diplomskem delu se osredotočimo na netradicionalne programske jezike, ki se razlikujejo v njihovi strategiji izračuna argumentov. To so programski jeziki s strategijo lenega izračuna, ki svoje argumente izračunajo šele ob njihovi uporabi. Zanje je podan opis in postopek njihovega prevoda v strojne ukaze. Opis in postopek sta dopolnjena z opisom lastnega programskega jezika in implementacijo njegovega prevajalnika. Na koncu predstavimo nekaj primerov programov, za katere podamo njihove čase izvajanja in pokažemo delovanje implementirane optimiziacije. Celotno delo pripomore k lažjemu razumevanju delovanja lenih programskih jezikov in pokaže, da je pri njih za pisanje bolj optimalnih programov potreben drugačen način razmišljanja kot pri tradicionalnih programskih jezikih.

Keywords

TIM;netradicionalni programski jeziki;len programski jezik;prevajalnik;strogost;funkcijski;univerzitetni študij;diplomske naloge;

Data

Language: Slovenian
Year of publishing:
Typology: 2.11 - Undergraduate Thesis
Organization: UL FRI - Faculty of Computer and Information Science
Publisher: [Ž. Leskovec]
UDC: 004.43(043.2)
COBISS: 164504323 Link will open in a new window
Views: 48
Downloads: 15
Average score: 0 (0 votes)
Metadata: JSON JSON-RDF JSON-LD TURTLE N-TRIPLES XML RDFA MICRODATA DC-XML DC-RDF RDF

Other data

Secondary language: English
Secondary title: Compiler for a lazy functional programming language
Secondary abstract: In the thesis, we focus on non-traditional programming languages that differ in their evaluation strategy. More specifically we focus on languages with lazy evaluation strategy, meaning, they evaluate their arguments when needed. We begin with their description and the process of their compilation into machine code. The description and procedure are complemented with a description of our own programming language and the implementation of its compiler. Finally, we present some examples of programs for which we give their execution times and show how the implemented optimization effects the generated code. The entire work helps with an easier understanding of how lazy programming languages work and shows that writing more optimal programs requires a different way of thinking than in traditional programming languages.
Secondary keywords: TIM;lazy programming language;compiler;strictness;functional;computer science;diploma;Programski jeziki;Računalništvo;Univerzitetna in visokošolska dela;
Type (COBISS): Bachelor thesis/paper
Study programme: 1000468
Embargo end date (OpenAIRE): 1970-01-01
Thesis comment: Univ. v Ljubljani, Fak. za računalništvo in informatiko
Pages: 65 str.
ID: 21439497