Please use this identifier to cite or link to this item: http://hdl.handle.net/1942/38209
Title: Codegenerator van SceneBuilder-FXML naar Haskell
Authors: Guerriero, Luigi
Broux, Kai
Advisors: AERTS, Kris
GROENEVELD, Wouter
Issue Date: 2022
Publisher: UHasselt
Abstract: FunTTop te Diepenbeek heeft als doel het gebruik van functioneel programmeren in het werkveld te verhogen om zo de voordelen op het gebied van efficiëntie en het aantal regels code t.o.v. imperatieve programmeertalen te kunnen valoriseren. Tegelijkertijd stelt FunTTop vast dat het programmeren van een grafische user interface (GUI) nog steeds omslachtig is in Haskell, de academisch ontwikkelde functionele taal. Om die reden beoogt deze masterproef een codegenerator te ontwikkelen die de output van SceneBuilder (FXML) kan omzetten naar Haskell-code. De moeilijkheden om een codegenerator te ontwikkelen zijn tweedelig. Eerst moet een GUI-bibliotheek voor Haskell gekozen worden die toekomstbestendig is. Het is immers de bedoeling om een beperkte FXML-subset van widgets te selecteren die later uitbreidbaar is. Daarnaast is het vereist dat de codegenerator zelf het FXML-bestand leest, de gelijkaardige GUI-elementen herkent en de Haskell-code genereert. Een lijst van GUI-bibliotheken werd gekozen op basis van een literatuurstudie. Hierna werd voor iedere bibliotheek een GUI-applicatie nagemaakt. Hieruit werd gi-gtk uiteindelijk geselecteerd. Voor de codegenerator zelf is vertrokken van een functie die de FXML-boomstructuur overloopt en analyseert. Daarna werden voor de overeenkomstige GUI-elementen uit FXML en Haskell zelfgemaakte datastructuren aangemaakt die in een laatste stap Haskell-code genereren. De ontwikkelde codegenerator kan op die manier met precisie een twaalftal FXML-elementen herkennen en omzetten.
Notes: master in de industriële wetenschappen: elektronica-ICT
Document URI: http://hdl.handle.net/1942/38209
Category: T2
Type: Theses and Dissertations
Appears in Collections:Master theses

Files in This Item:
File Description SizeFormat 
0938e443-5ad2-42a1-bd93-e317e8d22737.pdf3.72 MBAdobe PDFView/Open
af522ec5-0380-4576-9c47-d15622588d93.pdf887.68 kBAdobe PDFView/Open
Show full item record

Page view(s)

56
checked on Sep 10, 2023

Download(s)

42
checked on Sep 10, 2023

Google ScholarTM

Check


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.