Use este identificador para citar ou linkar para este item:
http://repositorio.utfpr.edu.br/jspui/handle/1/38619| Título: | Proposta de uma ferramenta para produção de compiladores e um estudo comparativo de produtividade |
| Título(s) alternativo(s): | Proposal of a tool for compiler development and a comparative study on productivity |
| Autor(es): | Silio, Leonardo Trevisan |
| Orientador(es): | Tacla, Cesar Augusto |
| Palavras-chave: | Software - Desenvolvimento Compiladores (Programas de computador) Análise sintática (gramática computacional) Linguagem de programação (Computadores) - Sintaxe) Computer software - Development Compilers (Computer programs Parsing (Computer grammar) Programming languages (Electronic computers) - Sintax |
| Data do documento: | 27-Fev-2025 |
| Editor: | Universidade Tecnológica Federal do Paraná |
| Câmpus: | Curitiba |
| Citação: | SILIO, Leonardo Trevisan. Proposta de uma ferramenta para produção de compiladores e um estudo comparativo de produtividade. 2025. Trabalho de Conclusão de Curso (Bacharelado em Engenharia de Computação) - Universidade Tecnológica Federal do Paraná, Curitiba, 2025. |
| Resumo: | Com o intuito de facilitar a criação de linguagens de programação e ferramentas semelhantes foi proposto e implementado de uma biblioteca, nomeada de Orkestra, que possibilite a confecção de compiladores com análise léxica e sintática, bem como recursos uteis como abstração de interfaces de linha de comando. Na biblioteca foi implementada um recurso de integração com o Visual Studio Code por meio da geração automática de uma extensão para o editor de texto baseando-se na linguagem definida pelo usuário do Orkestra por meio de regras léxicas e sintáticas. Para avaliar a tecnologia proposta foi elaborada uma metodologia comparativa para tecnologias semelhantes e então realizada uma análise usando a metodologia desenvolvida. Seguindo a metodologia, um projeto teste de uma linguagem de domínio específico chamada Brute Force. Cada tecnologia analisada, no caso, Orkestra, Flex/Bison, PeggyJS e ANTLR foi usada para implementar o projeto teste para que suas características pudessem ser comparadas. Foram levantadas características desejáveis e indesejáveis e atribuídos pontos a cada uma delas. Assim cada tecnologia recebeu uma pontuação com base nas características apresentadas em suas implementações do projeto teste. O Orkestra pontuou levemente abaixo das tecnologias de mercado, contudo apresentou características únicas o que sugere possibilidades de melhorias para tecnologias futuras desenvolvidas na área de compiladores. |
| Abstract: | With the aim of facilitating the creation of programming languages and similar tools, a library named Orkestra was proposed and implemented to enable the development of compilers with lexical and syntactic analysis, as well as useful features such as command-line interface abstraction. The library includes an integration feature with Visual Studio Code through the automatic generation of an extension for the text editor, based on the language defined by the Orkestra user via lexical and syntactic rules. To evaluate the proposed technology, a comparative methodology for similar technologies was developed, followed by an analysis using the designed methodology. As part of this process, a test project for a domain-specific language called Brute Force was created. Each analyzed technology4namely Orkestra, Flex/Bison, PeggyJS, and ANTLR4was used to implement the test project só that their characteristics could be compared. Desirable and undesirable characteristics were identified and assigned scores accordingly. Based on these characteristics, each technology received a score reflecting its implementation of the test project. Orkestra scored slightly below the marketleading technologies; however, it demonstrated unique features, suggesting potential improvements for future technologies in the field of compilers. |
| URI: | http://repositorio.utfpr.edu.br/jspui/handle/1/38619 |
| Aparece nas coleções: | CT - Engenharia de Computação |
Arquivos associados a este item:
| Arquivo | Descrição | Tamanho | Formato | |
|---|---|---|---|---|
| compiladores.pdf | 493,21 kB | Adobe PDF | ![]() Visualizar/Abrir |
Este item está licenciada sob uma Licença Creative Commons

