Interactive tool for teaching compilers

  • Wagner Graciano Junior Instituto Federal de Educação, Ciência e Tecnologia de Santa Catarina
  • Iara Tavares da Silva Grossert Instituto Federal de Educação, Ciência e Tecnologia de Santa Catarina
  • Wilson Castello Branco Neto Instituto Federal de Educação, Ciência e Tecnologia de Santa Catarina https://orcid.org/0000-0001-7044-4705
  • Alex Junior Avila Instituto Federal de Educação, Ciência e Tecnologia de Santa Catarina

Abstract


This paper presents a didactic tool to assist in learning of Compilers, by showing theoretical explanations and the practical process of the lexical and syntactic analysis. The tool consists of a responsive web application that, in addition to the study of theoretical concepts, allows the user to type and follow the process and the result of the analysis of their own source code. It presents the detailed step-by-step with explanations of processing according to user interaction, facilitating the understanding of concepts involved in the first two stages of the compilation process. The analyzed codes must be written in pseudo-language so that anyone with programming knowledge can use it, regardless of a specific language.

Keywords: Teaching compilers, Lexical Analysis, Syntax Analisys, Interactive tool

References

Alfred V. Aho, Ravi Sethi, and Jeffrey D. Ullman. 2008. Compiladores Princípios, Técnicas e Ferramentas (2nd ed.). LTC

Gustavo Alkmim and Bráulio de Mello. 2012. Ferramenta de apoio às fases iniciais do ensino de linguagens formais e compiladores. Brazilian Symposium on Computers in Education (Simpósio Brasileiro de Informática na Educação - SBIE).

Sachs Barbosa, Robson Bonidia, and Joao Coelho Neto. 2019. Flex, JFlex e GALS: Ferramentas de Apoio ao Ensino de Compiladores.

Keith D. Cooper and Linda Torczon. 2012. Engineering a Compiler (2nd ed.). Elsevier.

Antonio Carlos Gil. 1991. Como Elaborar Projetos de Pesquisa (3rd ed.). ATLAS S.A.

João José Neto. 2016. Introdução a compilação (1st ed.). Elsevier

M. Mernik and V. Zumer. 2003. An educational tool for teaching compiler construction. IEEE Transactions on Education 46, 1, 61–68.

Fernando Magno Quintao Pereira. 2020. Pesquisa em Compiladores. https://homepages.dcc.ufmg.br/~fernando/projects/CompilerResearchUFMG.pdf Março 25, 2020.

Cleber Cristiano Prodanov and Ernani Cesar de Freitas. 2013. Metodologia do Trabalho Científico: Métodos e Técnicas da Pesquisa e do Trabalho Acadêmico (2nd ed.). Universidade Feevale.

R. Daniel Resler and Dean M. Deaver. 1998. VCOCO: A Visualisation Tool for Teaching Compilers. In Proceedings of the 6th Annual Conference on the Teaching of Computing and the 3rd Annual Conference on Integrating Technology into Computer Science Education: Changing the Delivery of Computer Science Education (Dublin City Univ., Ireland) (ITiCSE ’98). Association for Computing Machinery, New York, NY, USA, 199–202.

Carlos Scheider, Liliana Passerino, and Ricardo Oliveira. 2005. Compilador Educativo VERTO: ambiente para aprendizagem de compiladores. RENOTE 3.

Ravendra Singh, Vivek Sharma, and Manish Varshney. 2009. Design and Implementation of Compiler (1st ed.). New Age International

Elizabeth White, Ranjan Sen, and Nina Stewart. 2005. Hide and show: using real compiler code for teaching. ACM Sigcse Bulletin 37, 12–16.
Published
2022-04-24
GRACIANO JUNIOR, Wagner; GROSSERT, Iara Tavares da Silva; CASTELLO BRANCO NETO, Wilson; AVILA, Alex Junior. Interactive tool for teaching compilers. In: BRAZILIAN SYMPOSIUM ON COMPUTING EDUCATION (EDUCOMP), 2. , 2022, Online. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2022 . p. 224-233. ISSN 3086-0733. DOI: https://doi.org/10.5753/educomp.2022.19217.