dc.contributor.advisor | Dorneles, Ricardo Vargas | |
dc.contributor.author | Susin, Gustavo Lima | |
dc.contributor.other | Pellizzoni, Leonardo | |
dc.contributor.other | Nascimento, Alexandre Erasmo Krohn | |
dc.date.accessioned | 2025-06-02T14:15:31Z | |
dc.date.available | 2025-06-02T14:15:31Z | |
dc.date.issued | 2024-12-14 | |
dc.date.submitted | 2024-11-26 | |
dc.identifier.uri | https://repositorio.ucs.br/11338/14593 | |
dc.description | A prática de exercícios de programação no início do aprendizado é essencial para os alunos, e as disciplinas introdutórias dos cursos de computação da Universidade de Caxias do Sul (UCS) reconhecem essa importância. Para aprimorar os conhecimentos em programação, a UCS disponibiliza a ferramenta WebAlgo, projetada para oferecer uma variedade de exercícios na linguagem C. O WebAlgo integra um compilador de subconjuntos específicos da linguagem C, juntamente com um interpretador que realiza as operações lógicas e aritméticas dos algoritmos desenvolvidos pelos alunos. No entanto, a atual implementação do interpretador no WebAlgo utiliza uma lista duplamente encadeada, o que dificulta a expansão e a manutenção da ferramenta, dada a complexidade do código existente. Diante desse cenário, este trabalho propõe o desenvolvimento de um novo compilador, mantendo os subconjuntos da linguagem C utilizados no WebAlgo, mas agora, projetado para a web, fazendo uso da estrutura de código intermediário no qual será utilizado o Código de Três Endereços (C3E). Essa abordagem visa simplificar e facilitar as futuras manutenções e expansões do WebAlgo. Além da implementação do novo compilador, o trabalho inclui a definição de uma máquina virtual baseada em registradores virtuais que interpretará o código intermediário gerado. [resumo fornecido pelo autor] | pt_BR |
dc.description.abstract | The practice of programming exercises at the beginning of learning is essential for students, and the introductory courses in computer science at the University of Caxias do Sul (UCS) recognize this importance. To enhance programming skills, UCS provides the WebAlgo tool, designed to offer a variety of exercises in the C language. WebAlgo integrates a compiler for specific subsets of the C language, along with an interpreter that performs logical and arithmetic operations for algorithms developed by students. However, the current implementation of the interpreter in WebAlgo uses a doubly linked list, making expansion and maintenance challenging due to the complexity of the existing code. In light of this scenario, this work proposes the development
of a new compiler, retaining the subsets of the C language used in WebAlgo, but now, designed for the web and utilizing an intermediate code structure known as Three-Address Code (TAC). This approach aims to simplify and facilitate future maintenance and expansions of WebAlgo. In addition to the new compiler implementation, the work includes defining a virtual machine based on virtual registers to interpret the generated intermediate code. [resumo fornecido pelo autor] | pt_BR |
dc.language.iso | pt | pt_BR |
dc.subject | Computação | pt_BR |
dc.subject | Sistemas operacionais (Computadores) | pt_BR |
dc.subject | Linguagem de programação (Computadores) | pt_BR |
dc.subject | Compiladores (Programas de computador) | pt_BR |
dc.subject | Java virtual machine (Programa de computador) | pt_BR |
dc.title | WebAlgo: desenvolvimento de um compilador da linguagem C e uma máquina virtual baseada em registradores utilizando C3E na web | pt_BR |
dc.type | Monografia | pt_BR |
mtd2-br.advisor.instituation | Universidade de Caxias do Sul | pt_BR |
mtd2-br.program.name | Bacharelado em Ciência da Computação | pt_BR |
mtd2-br.campus | Campus Universitário de Caxias do Sul | pt_BR |
local.data.embargo | 2024-12-13 | |