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