1 |
En utvecklingsmiljö för MALHanstad, Erik, Villarroel, Lucas January 2021 (has links)
Många utvecklare förlitar sig på moderna utvecklingsmiljöer med stöd för språkspecifika funktioner som underlättar utvecklingsprocessen. Nyutvecklade språk saknar ofta denna möjlighet, Meta Attack Language (MAL) är ett av dessa. Syftet med denna avhandling är att undersöka betydelsen av en integrerad utvecklingsmiljö i MAL med avseende på användarupplevelsen genom att utveckla en prototyp av en integrerad utvecklingsmiljö för MAL. Avhandlingen inleds med en litteraturstudie inom de relevanta områdena MAL, utvecklingsverktyg och kodanalys. Utifrån den insamlade informationen fastställs det att prototypen utvecklas som en Visual Studio Code-extension med en language server i enlighet med Language Server Protocol (LSP). För att mäta användarupplevelsen av en utvecklingsmiljö för MAL används User Experience Questionnaire (UEQ) som mäter användarupplevelsen utifrån sex perspektiv: attraktivitet, tydlighet, effektivitet, pålitlighet, stimulering och innovativitet. Mätningarna sker i forma av två likadana enkäter där MAL-utvecklare besvarar frågor angående användarupplevelsen av att utveckla i MAL. Den första enkäten undersöker användarupplevelsen utan prototypen och den andra undersöker användarupplevelsen med prototypen. För att undersöka om skillnaden med och utan prototypen är av statistisk signifikant utförs t-test för varje perspektiv. Avhandlingen har resultaterat i en Visual Studio Code-extension som tillhandahåller intelligent kodifyllning, diagnostics, go to definition och syntaxmarkering för MAL. Resultaten av enkäterna visar på en ökning på alla mätta perspektiv med en statistisk signifikant förbättring på attraktivitet, tydlighet och effektivitet. För att utveckla arbetet och dra större slutsatser skulle prototypen behöva utvecklas mer samt att svarsunderlaget till enkäterna vara större. / Many developers rely on modern development environments with support for language-specific features that facilitate the development process. Newly developed languages often lack this possibility, Meta Attack Language (MAL) is one of these. The purpose of this dissertation is to investigate the importance of an integrated development environment in MAL with regard to the user experience by developing a prototype of an integrated development environment for MAL. The dissertation begins with a literature study in the relevant areas consisting of MAL, development tools and code analysis. Based on the information gathered, it is determined that the prototype is developed as a Visual Studio Code-extension with a language server adhering to the Language Server Protocol (LSP). To measure the user experience of a development environment for MAL, the User Experience Questionnaire (UEQ) is used, which measures the user experience from six perspectives: attractiveness, perspicuity, efficiency, dependability, stimulation and novelty. The measurements take the form of two surveys of the same kind where MAL developers answer questions regarding the user experience of developing in MAL. The first survey examines the user experience without the prototype and the second examines the user experience with the prototype. To investigate whether the difference with and without the prototype is statistically significant, t-tests are performed for each perspective. The dissertation has resulted in a Visual Studio Code-extension that provides intelligent code completion, diagnostics, go to definition and syntax highlighting for MAL. The results of the surveys show an increase in all measured perspectives with a statistically significant improvement in attractiveness, perspicuity and efficiency. In order to develop the work and draw greater conclusions, the prototype would need to be developed more and the response basis to the questionnaires greater.
|
2 |
Generátor klientů pro Language Server Protocol / Client Generator for Language Server ProtocolJelínek, Dominik January 2019 (has links)
The Diploma thesis deals with the Microsoft Language Server Protocol. The theoretical part describes the architecture and protocol properties, the LSP implementation within the Eclipse and VS Code development environments and a procedure for creating a new plug-in in the Eclipse and VS Code. In addition, the theoretical part familiarizes with Apache Camel project and implementation of Camel Language server and Camel Language clients for extended language support. The last mention in the theory is about the Yeoman tool for scaffolding a new projects. The description of the practical part deals with properties and implementation of the created LSP clients generator for Language Server Protocol.
|
3 |
A Syntax Highlighting and Code Formatting Tool for Extensible LanguagesStrömbäck, Filip January 2017 (has links)
Domain specific languages are sometimes useful to make it easier to express solutions to problems in a specific domain compared to general purpose programming languages. There are a number of tools available to create such languages, either as separate languages or by extending an existing language. One large problem with creating languages or language extensions is that existing tools are unaware of the new language, and therefore unable to properly assist the programmer unless all such tools are extended to support the new language. Extending all tools to support the new language is often a large enough task to be infeasible, especially for small languages. In this thesis, we propose using the compiler of the extensible language Storm to provide the information required for a text editor to provide syntax highlighting and code formatting. By using the Storm compiler to provide the required information, it is possible to use the Storm language definitions for syntax highlighting and code formatting in addition to compiling the language. This means that syntax highlighting and code formatting can be provided without requiring the language author to maintain multiple implementations of the language. The solution is evaluated by comparing the correctness and the responsiveness of the syntax highlighting to Emacs.
|
Page generated in 0.0411 seconds