WebAlgo: desenvolvimento de um compilador da linguagem C e uma máquina virtual baseada em registradores utilizando C3E na web

Carregando...
Imagem de Miniatura

Data de Submissão

Data de Defesa

2024-11-26

Edição

Coorientadores

Editores

Título da Revista

ISSN da Revista

Título de Volume

Editor

Descrição

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]

Resumo

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]

Citação

Avaliação

Revisão

Suplementado Por

Referenciado Por

Campus-Sede

Rua Francisco Getúlio Vargas, 1130
CEP 95070-560 - Caxias do Sul

Todos os campi - Como chegar

Central de Atendimento

Youtube

© 2001-2025 Universidade de Caxias do Sul. Todos os direitos reservados

Youtube