Eclipse põhine integreeritud arenduskeskkond programmeerimiskeelele Agda
Date
2012
Authors
Journal Title
Journal ISSN
Volume Title
Publisher
Tartu Ülikool
Abstract
Antud töö eesmärk oli kavandada ja implementeerida Eclipse põhine integreeritud arenduskeskkond (IDE) sõltuvate tüüpidega funktsionaalsele programmeerimiskeelele Agda. Töös vaadati lähemalt Agdat, Eclipse Platformi ja Eclipse põhiste arenduskeskkondade loomise raamistikke ning selle põhjal implementeeriti viis DLTK (Dynamic Languages Toolkit) raamistikule tuginevat Eclipse pistikprogrammi ning Haskelli teek, mis vahendab suhtlust Eclipse pistikprogrammide ja Agda vahel. Implementeeritud IDE toetab Agda projektide ja failide loomist Eclipses, sisaldab Agda-spetsiifilist perspektiivi (perspective), süntaksi esiletõstmist, toetab erinevaid päringuid eesmärgi (goal) kontekstis, navigeerimist deklaratsioonide juurde, otsingut, sisu assisteerimist (content assist) ja probleemide markeerimist.
The goal of this thesis was to design and implement an Eclipse-based IDE for the dependently typed programming language Agda. Agda, Eclipse Platform and tools supporting the creation of Eclipse-based IDE were studied as a part of the thesis and based on the results an IDE was developed, comprising of a set of Eclipse plug-in supported by the Dynamic Languages Toolkit framework and a Haskell-based library to mediate the communication between Eclipse plug-ins and the Agda proof engine. The resulting IDE supports creating of Agda project and files, has an Agda-specific perspective, syntax highlighting, support different queries in the context of the goal, simple navigation to declarations, searching, content assist features and problem marking.
The goal of this thesis was to design and implement an Eclipse-based IDE for the dependently typed programming language Agda. Agda, Eclipse Platform and tools supporting the creation of Eclipse-based IDE were studied as a part of the thesis and based on the results an IDE was developed, comprising of a set of Eclipse plug-in supported by the Dynamic Languages Toolkit framework and a Haskell-based library to mediate the communication between Eclipse plug-ins and the Agda proof engine. The resulting IDE supports creating of Agda project and files, has an Agda-specific perspective, syntax highlighting, support different queries in the context of the goal, simple navigation to declarations, searching, content assist features and problem marking.