From Formalization to Execution: EIDOS as an Active Learning Environment for Context-Free Grammars
Resumo
The teaching of Context-Free Grammars in undergraduate Computer Science courses remains predominantly theoretical, creating a gap between formal specification and the concrete experience of execution: students write grammars on paper but rarely experience them as the specification of an executable language. This paper presents EIDOS, a VS Code extension that lets students describe a CFG in BNF or EBNF, map each production rule to professor-predefined semantic primitives, and execute programs in the language they created, with real-time feedback on output, variable state, and derivation tree. The artifact was validate through 205 automated test cases; the empirical evaluation with students is identified as the necessary next step.
Palavras-chave:
Context-Free Grammars, Active Learning, Educational Tools
Referências
ACM/IEEE-CS Joint Task Force on Computing Curricula (2013). Computer science curricula 2013. Technical report, ACM Press and IEEE Computer Society Press.
Backus, J. W. (1959). The syntax and semantics of the proposed international algebraic language of the Zürich ACM-GAMM conference. In Proceedings of the International Conference on Information Processing, pages 125–132, Paris, France. UNESCO.
Bettini, L. (2013). Implementing Domain-Specific Languages with Xtext and Xtend. Packt Publishing, Birmingham, UK.
Brasil. Ministério da Educação (2016). Diretrizes curriculares nacionais para os cursos de graduação em computação. Resolução CNE/CES nº 5, Conselho Nacional de Educação, Brasília, DF.
Chakraborty, S., Kulkarni, A., and Bhattacharyya, P. (2014). Interactive simulation of formal language theory: A pedagogical tool. In Proceedings of the International Conference on Technology for Education (T4E), pages 66–69. IEEE.
Chomsky, N. (1956). Three models for the description of language. IRE Transactions on Information Theory, 2(3):113–124.
Freeman, S., Eddy, S. L., McDonough, M., Smith, M. K., Okoroafor, N., Jordt, H., and Wenderoth, M. P. (2014). Active learning increases student performance in science, engineering, and mathematics. Proceedings of the National Academy of Sciences, 111(23):8410–8415.
Gomes, A. and Mendes, A. J. (2007). Learning to program — difficulties and solutions. In Proceedings of the International Conference on Engineering Education (ICEE), Coimbra, Portugal.
Hopcroft, J. E., Motwani, R., and Ullman, J. D. (2006). Introduction to Automata Theory, Languages, and Computation. Pearson Addison-Wesley, Boston, MA, 3 edition.
Parr, T. (2013). The Definitive ANTLR 4 Reference. Pragmatic Bookshelf, Dallas, TX.
Prince, M. (2004). Does active learning work? A review of the research. Journal of Engineering Education, 93(3):223–231.
Robins, A., Rountree, J., and Rountree, N. (2003). Learning and teaching programming: A review and discussion. Computer Science Education, 13(2):137–172.
Rodger, S. H. and Finley, T. W. (2006). JFLAP: An Interactive Formal Languages and Automata Package. Jones & Bartlett Publishers, Sudbury, MA.
Rodger, S. H., Wiebe, E., Lee, K. M., Morgan, C., Omar, K., and Tan, J. (2009). Increasing engagement in automata theory with JFLAP. In Proceedings of the 40th ACM Technical Symposium on Computer Science Education (SIGCSE), pages 403–407, Chattanooga, TN, USA. ACM.
Sipser, M. (2013). Introduction to the Theory of Computation. Cengage Learning, Boston, MA, 3 edition.
Völter, M., Benz, S., Dietrich, C., Engelmann, B., Helander, M., Kats, L. C. L., Visser, E., and Wachsmuth, G. (2013). DSL Engineering: Designing, Implementing and Using Domain-Specific Languages. dslbook.org.
Wirth, N. (1977). What can we do about the unnecessary diversity of notation for syntactic definitions? Communications of the ACM, 20(11):822–823.
Backus, J. W. (1959). The syntax and semantics of the proposed international algebraic language of the Zürich ACM-GAMM conference. In Proceedings of the International Conference on Information Processing, pages 125–132, Paris, France. UNESCO.
Bettini, L. (2013). Implementing Domain-Specific Languages with Xtext and Xtend. Packt Publishing, Birmingham, UK.
Brasil. Ministério da Educação (2016). Diretrizes curriculares nacionais para os cursos de graduação em computação. Resolução CNE/CES nº 5, Conselho Nacional de Educação, Brasília, DF.
Chakraborty, S., Kulkarni, A., and Bhattacharyya, P. (2014). Interactive simulation of formal language theory: A pedagogical tool. In Proceedings of the International Conference on Technology for Education (T4E), pages 66–69. IEEE.
Chomsky, N. (1956). Three models for the description of language. IRE Transactions on Information Theory, 2(3):113–124.
Freeman, S., Eddy, S. L., McDonough, M., Smith, M. K., Okoroafor, N., Jordt, H., and Wenderoth, M. P. (2014). Active learning increases student performance in science, engineering, and mathematics. Proceedings of the National Academy of Sciences, 111(23):8410–8415.
Gomes, A. and Mendes, A. J. (2007). Learning to program — difficulties and solutions. In Proceedings of the International Conference on Engineering Education (ICEE), Coimbra, Portugal.
Hopcroft, J. E., Motwani, R., and Ullman, J. D. (2006). Introduction to Automata Theory, Languages, and Computation. Pearson Addison-Wesley, Boston, MA, 3 edition.
Parr, T. (2013). The Definitive ANTLR 4 Reference. Pragmatic Bookshelf, Dallas, TX.
Prince, M. (2004). Does active learning work? A review of the research. Journal of Engineering Education, 93(3):223–231.
Robins, A., Rountree, J., and Rountree, N. (2003). Learning and teaching programming: A review and discussion. Computer Science Education, 13(2):137–172.
Rodger, S. H. and Finley, T. W. (2006). JFLAP: An Interactive Formal Languages and Automata Package. Jones & Bartlett Publishers, Sudbury, MA.
Rodger, S. H., Wiebe, E., Lee, K. M., Morgan, C., Omar, K., and Tan, J. (2009). Increasing engagement in automata theory with JFLAP. In Proceedings of the 40th ACM Technical Symposium on Computer Science Education (SIGCSE), pages 403–407, Chattanooga, TN, USA. ACM.
Sipser, M. (2013). Introduction to the Theory of Computation. Cengage Learning, Boston, MA, 3 edition.
Völter, M., Benz, S., Dietrich, C., Engelmann, B., Helander, M., Kats, L. C. L., Visser, E., and Wachsmuth, G. (2013). DSL Engineering: Designing, Implementing and Using Domain-Specific Languages. dslbook.org.
Wirth, N. (1977). What can we do about the unnecessary diversity of notation for syntactic definitions? Communications of the ACM, 20(11):822–823.
Publicado
05/10/2026
Como Citar
ARAGÃO JUNIOR, Belmondo Rodrigues.
From Formalization to Execution: EIDOS as an Active Learning Environment for Context-Free Grammars. In: SIMPÓSIO BRASILEIRO DE INFORMÁTICA NA EDUCAÇÃO (SBIE), 37. , 2026, Goiânia/GO.
Anais [...].
Porto Alegre: Sociedade Brasileira de Computação,
2026
.
p. 2613-2622.
DOI: https://doi.org/10.5753/sbie.2026.27356.
