Mostrar registro simples

dc.contributor.advisorDorneles, Ricardo Vargas
dc.contributor.authorSusin, Gustavo Lima
dc.contributor.otherPellizzoni, Leonardo
dc.contributor.otherNascimento, Alexandre Erasmo Krohn
dc.date.accessioned2025-06-02T14:15:31Z
dc.date.available2025-06-02T14:15:31Z
dc.date.issued2024-12-14
dc.date.submitted2024-11-26
dc.identifier.urihttps://repositorio.ucs.br/11338/14593
dc.descriptionA 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.abstractThe 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.isoptpt_BR
dc.subjectComputaçãopt_BR
dc.subjectSistemas operacionais (Computadores)pt_BR
dc.subjectLinguagem de programação (Computadores)pt_BR
dc.subjectCompiladores (Programas de computador)pt_BR
dc.subjectJava virtual machine (Programa de computador)pt_BR
dc.titleWebAlgo: desenvolvimento de um compilador da linguagem C e uma máquina virtual baseada em registradores utilizando C3E na webpt_BR
dc.typeMonografiapt_BR
mtd2-br.advisor.instituationUniversidade de Caxias do Sulpt_BR
mtd2-br.program.nameBacharelado em Ciência da Computaçãopt_BR
mtd2-br.campusCampus Universitário de Caxias do Sulpt_BR
local.data.embargo2024-12-13


Arquivos deste item

Thumbnail

Este item aparece na(s) seguinte(s) coleção(s)

Mostrar registro simples