izpis_h1_title_alt

Praktičnost sintaksne analize s kombinatorji
ID GOLJAT, DAVID (Avtor), ID Čibej, Uroš (Mentor) Več o mentorju... Povezava se odpre v novem oknu, ID Pretnar, Matija (Komentor)

.pdfPDF - Predstavitvena datoteka, prenos (434,78 KB)
MD5: 5F50B047EBAF2C9FF948885C231A899B

Izvleček
Sintaksni analizatorji so ključno orodje za pretvorbo programske ali podatkovno opisne kode v računalnikom razumljivo obliko. Zgradimo jih lahko z različnimi metodami in pristopi analize. Mi bomo podrobneje pogledali pristop grajenja analizatorja z uporabo kombinatorjev. Ta pristop izvira iz funkcijskega programiranja, kjer manjše, enostavne funkcije združujemo v kompleksnejše. Želimo ugotoviti, ali je takšen način pisanja kode lažji in bolj pregleden kot ``klasični'' pristop. Po principu kombiniranja bomo implementirali sintaksni analizator za podatkovno opisni jezik JSON. Sprva ga bomo implementirali popolnoma funkcijsko v programskem jeziku OCaml, nato pa bomo isti analizator implementirali še v programskem jeziku Rust, ki pa ni popolnoma funkcijski. Implementacijo bomo primerjali s klasično metodo z generatorji analizatorjev in z moderno programsko knjižnico. Zanima nas, ali je pisanje analizatorjev na tak način lažje. Izkaže se, da to drži, ugotovili pa bomo tudi, da glede hitrosti ta pristop ni optimalen.

Jezik:Slovenski jezik
Ključne besede:sintaksni analizator, funkcijsko programiranje, OCaml, Rust
Vrsta gradiva:Diplomsko delo/naloga
Tipologija:2.11 - Diplomsko delo
Organizacija:FRI - Fakulteta za računalništvo in informatiko
Leto izida:2024
PID:20.500.12556/RUL-162712 Povezava se odpre v novem oknu
COBISS.SI-ID:214394883 Povezava se odpre v novem oknu
Datum objave v RUL:26.09.2024
Število ogledov:125
Število prenosov:17
Metapodatki:XML DC-XML DC-RDF
:
Kopiraj citat
Objavi na:Bookmark and Share

Sekundarni jezik

Jezik:Angleški jezik
Naslov:Practicality of parser combinators
Izvleček:
Parsers are a key tool we use to convert program code or a data description into a form computers understand. We can build them using many different methods and approaches. We shall take a closer look at the method of building parsers using combinators. This approach originates from functional programming, where small and simple functions are combined to form complex ones. We want to find out if this way of writing code is easier and more transparent than the ``classic'' approach. We will implement a JSON parser based on the principle of combining. Initially, we will implement it fully functionally in the OCaml programming language and then in the Rust programming language, which is not fully functional. We will compare the Rust implementation with the classic approach using generators and finally a modern software library. We want to know if writing parsers is easier this way. It turns out that that this is true. However, we also discover that such an approach is not optimal for performance.

Ključne besede:parser, functional programming, OCaml, Rust

Podobna dela

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

Nazaj