WebAlgo: desenvolvimento de um compilador da linguagem C e uma máquina virtual baseada em registradores utilizando C3E na web
Datum
2024-12-14Autor
Susin, Gustavo Lima
Orientador
Dorneles, Ricardo Vargas
Metadata
Zur LanganzeigeZusammenfassung
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]