26.
sep
Zagovor diplomskega dela: David Goljat
ob 11:00

Naslov diplomskega dela: Praktičnost sintaksne analize s kombinatorji

 

Povzetek:

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.

 

 

Mentor: doc. dr. Uroš Čibej

Somentor: doc. dr. Matija Pretnar

 

Komisija za zagovor:​

izr. prof. dr. Aleksander Sadikov (predsednik),

doc. dr. Uroš Čibej (mentor),

doc. dr. Matija Pretnar (somentor).

 

Prostor: Diplomska soba