Interactive tool for teaching compilers
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.
References
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.
