Uma Ferramenta Educacional de Apoio ao Ensino de Compiladores
Resumo
Este artigo apresenta uma ferramenta para auxiliar o ensino de compiladores. A ferramenta consiste em um compilador para uma linguagem inspirada na linguagem C. O compilador realiza a tradução do código-fonte para a linguagem intermediária do LLVM, que é responsável pela otimização e geração do código-alvo. Por meio de uma interface web, é possível visualizar todos os artefatos do processo de compilação, como a árvore sintática e o código intermediário. A avaliação geral do sistema confirmou o alto nível de aceitação, alcançando uma média de 4, 81 em 5, evidenciando o potencial educacional da ferramenta.Referências
Aho, A. V., Lam, M. S., Sethi, R., e Ullman, J. D. (2008). Compiladores: Princípios, técnicas e ferramentas. Pearson.
Cooper, K. D. e Torczon, L. (2014). Construindo compiladores. Campus.
Graciano Junior, W., Grossert, I., Neto, W. C. B., e Avila, A. (2022). Ferramenta interativa para o ensino de compiladores. In Anais do II Simpósio Brasileiro de Educação em Computação, pages 224–233, Porto Alegre, RS, Brasil. SBC.
Gramond, E. e Rodger, S. H. (1999). Using jflap to interact with theorems in automata theory. SIGCSE Bull., 31(1):336–340.
Lattner, C. e Adve, V. (2004). Llvm: a compilation framework for lifelong program analysis & transformation. In International Symposium on Code Generation and Optimization, 2004. CGO 2004., pages 75–86.
Mernik, M. e Zumer, V. (2003). An educational tool for teaching compiler construction. IEEE Transactions on Education, 46(1):61–68.
Nemoto, T. e Beglar, D. (2014). Developing likert-scale questionnaires. In JALT2013.
Scheider, C., Passerino, L. M., e Oliveira, R. F. d. (2005). Compilador educativo verto: ambiente para aprendizagem de compiladores. Revista Novas Tecnologias na Educação, 3(2).
Weber, R. F. (2001). Fundamentos de arquitetura de computadores. Porto Alegre: Sagra Luzzato, page 248.
Cooper, K. D. e Torczon, L. (2014). Construindo compiladores. Campus.
Graciano Junior, W., Grossert, I., Neto, W. C. B., e Avila, A. (2022). Ferramenta interativa para o ensino de compiladores. In Anais do II Simpósio Brasileiro de Educação em Computação, pages 224–233, Porto Alegre, RS, Brasil. SBC.
Gramond, E. e Rodger, S. H. (1999). Using jflap to interact with theorems in automata theory. SIGCSE Bull., 31(1):336–340.
Lattner, C. e Adve, V. (2004). Llvm: a compilation framework for lifelong program analysis & transformation. In International Symposium on Code Generation and Optimization, 2004. CGO 2004., pages 75–86.
Mernik, M. e Zumer, V. (2003). An educational tool for teaching compiler construction. IEEE Transactions on Education, 46(1):61–68.
Nemoto, T. e Beglar, D. (2014). Developing likert-scale questionnaires. In JALT2013.
Scheider, C., Passerino, L. M., e Oliveira, R. F. d. (2005). Compilador educativo verto: ambiente para aprendizagem de compiladores. Revista Novas Tecnologias na Educação, 3(2).
Weber, R. F. (2001). Fundamentos de arquitetura de computadores. Porto Alegre: Sagra Luzzato, page 248.
Publicado
20/07/2025
Como Citar
BORELA, Erik Pablo Schaefer; OLIVEIRA, Alessandra Lima de; CASTELLO BRANCO NETO, Wilson; SOUZA, Alexandre Perin de.
Uma Ferramenta Educacional de Apoio ao Ensino de Compiladores. In: WORKSHOP SOBRE EDUCAÇÃO EM COMPUTAÇÃO (WEI), 33. , 2025, Maceió/AL.
Anais [...].
Porto Alegre: Sociedade Brasileira de Computação,
2025
.
p. 171-181.
ISSN 2595-6175.
DOI: https://doi.org/10.5753/wei.2025.7407.
