Export iten: EndNote BibTex

Please use this identifier to cite or link to this item: https://tede.unioeste.br/handle/tede/6463
Tipo do documento: Dissertação
Title: Suporte à Edição para Linguagens de Software: Práticas de Implementação com Language Server Protocol
Other Titles: Editing Support for Software Languages: Implementation Practices in Language Server Protocols.
Autor: Barros, Djonathan Douglas Santos 
Primeiro orientador: Assunção, Wesley Klewerton Guêz
Primeiro coorientador: Berger, Thorsten
Primeiro membro da banca: Assunção, Wesley Klewerton Guêz
Segundo membro da banca: Silva, Ivonei Freitas da   
Terceiro membro da banca: Lima, Fernando José Castor de
Resumo: A utilização efetiva de linguagens de software, sejam elas de programação ou linguagens especificas de domínio, requer um suporte à edição efetivo. IDEs modernas, ferramentas de modelagem, editores de código tipicamente disponibilizam um suporte à edição sofisticado para criar, compreender ou modificar instâncias (programas ou modelos) de linguagens em particular. Infelizmente, implementar tal suporte é desafiador. Enquanto a engenharia de linguagens é uma disciplina bem conhecida e suportada por modernas técnicas dirigidas por modelo, há uma escassez de princípios e práticas para implementar o suporte a edição. Especialmente para linguagens especificas de domínio (que são geralmente criadas por organizações menores ou desenvolvedores individuais, algumas vezes somente para projetos únicos) se beneficiariam de melhores métodos e ferramentas para criar um suporte à edição apropriado. Nesse trabalho foram identificados aspectos de implementação para o suporte a edição em 30 servidores de linguagem que implementam o language server protocol (LSP), alguns desenvolvidos para suportar múltiplas linguagens. O LSP é um padrão consumado para implementar o suporte à edição para uma linguagem, separado das ferramentas de edição (ex., IDEs ou ferramenta de modelagem), aumentando o reúso e a qualidade do suporte a edição. Evidenciando a popularidade do LSP, existem 125 servidores de linguagem catalogados pela comunidade hoje em dia. Além dos aspectos de implementação que os desenvolvedores devem levar em consideração ao implementar o suporte à edição, foram sintetizadas práticas de implementação para endereça-los, baseado em uma análise sistemática do código-fonte desses servidores.
Abstract: Effectively using software languages, be it programming or domain-specific languages, requires effective editing support. Modern IDEs, modeling tools, and code editors typically provide sophisticated support to create, comprehend, or modify instances (programs or models) of particular languages. Unfortunately, building such editing support is challenging. While the engineering of languages is well understood and supported by modern model driven techniques, there is a lack of engineering principles and best practices for realizing their editing support. Especially domain-specific languages (often created by smaller organizations or individual developers, sometimes even for single projects) would benefit from better methods and tools to create proper editing support. We study aspects for implementing editing support in 30 language servers—implementations of the language server protocol (LSP), some of which support multiple languages. The LSP is a recent de facto standard to realize editing support for languages, separated from the editing tools (e.g., IDEs or modeling tools), enhancing the reusability and quality of the editing support. Witnessing the LSP’s popularity there are 125 language servers catalogated in a curated list. We identify concerns that developers need to take into account when developing editing support, and we synthesize implementation practices to address them, based on a systematic analysis of the servers’ source code
Keywords: Engenharia de linguagem
Assistência de código
Compreensão de código
Editor de código-fonte
Práticas de implementação
Language engineering
Code assistance
Code comprehension
Source code editor
implementation practices
CNPq areas: METODOLOGIAS E TÉCNICAS DE COMPUTAÇÃO.
Idioma: por
País: Brasil
Publisher: Universidade Estadual do Oeste do Paraná
Sigla da instituição: UNIOESTE
Departamento: Centro de Ciências Exatas e Tecnológicas
Program: Programa de Pós-Graduação em Ciência da Computação
Campun: Cascavel
Citation: Barros, Djonathan Douglas Santos. Suporte à Edição para Linguagens de Software: Práticas de Implementação com Language Server Protocol. 2022. 97 f. Dissertação(Mestrado em Ciência da Computação) - Universidade Estadual do Oeste do Paraná, Cascavel.
Tipo de acesso: Acesso Aberto
Endereço da licença: http://creativecommons.org/licenses/by/4.0/
URI: https://tede.unioeste.br/handle/tede/6463
Issue Date: 5-Dec-2022
Appears in Collections:Mestrado em Ciência da Computação (CVL)

Files in This Item:
File Description SizeFormat 
Djonathan_ Barros.2022.pdfArquivo completo2.61 MBAdobe PDFView/Open Preview


This item is licensed under a Creative Commons License Creative Commons