• Srećko Stamenković Univerzitet u Prištini, Fakultet tehničkih nauka, Kosovska Mitrovica, Srbija
  • Nenad Jovanović Univerzitet u Prištini, Fakultet tehničkih nauka, Kosovska Mitrovica, Srbija
Keywords: simulation systems, compilers, automata theory, formal languages


This paper analyses simulation systems for teaching compilers, represents their technical characteristics and topics addressed, their benefits in the teaching process, and the advantages and disadvantages of each simulator analyzed. Based on this information, a reader can easily decide which simulator is the most suitable for his needs. The usage of simulators in education has been recognized as an effective tool for exploration of complex and dynamic systems. A simulator can illustrate a large number of abstract theoretical concepts from the various phases of program translation. Simulation systems in the field of compilers stand for a perfect combination of theory and practical experiences, and as such contribute to the improvement of the teaching process.


Adar, E., 2006. Guess: A language and interface for graph exploration. Proceedings of the 2006 Conference on Human Factors in Computing Systems, pp. 347–363.

Aho, A. V., Lam, M. S., Sethi, R. and Ullman, J. D., 2007. Compilers: principles, techniques and tools, 2nd ed. Boston: Pearson Education Inc.

Arnaiz‐González, Á., Díez‐Pastor, J. F., Ramos‐Pérez, I. and García‐Osorio, C., 2018. Seshat—a web‐based educational resource for teaching the most common algorithms of lexical analysis. Computer Applications in Engineering Education, 26(6), 2255-2265.

Benitez, M. E., and Davidson, J. W., 1988. A portable global optimizer and linker. Proceedings of the SIGPLAN ’88 Symposium on Programming Language Design and Implementation, 23(7), pp. 329-338.

Blythe, S. A., James, M. C. and Rodger, S. H., 1994. LLparse and LRparse: visual and interactive tools for parsing. ACM SIGCSE Bulletin, 26(1), pp.208-212.

Boyd, M. and Whalley, D., 1993. Graphical visualization of compiler optimizations. Journal of Programming Languages, 3(2), pp. 69-94.

Budiselic, I., Srbljic, S., and Popovic, M., 2007. Regexpert: A tool for visualization of regular expressions. In EUROCON 2007-The International Conference on" Computer as a Tool", pp. 2387-2389.

Castro-Schez, J. J., Del Castillo, E., Hortolano, J. and Rodriguez, A., 2009. Designing and using software tools for educational purposes: FLAT, a case study. IEEE Transactions on Education, 52(1), pp. 66-74.

Chakraborty, P., Saxena, P. C. and Katti, C. P., 2013. A compiler‐based toolkit to teach and learn finite automata. Computer Applications in Engineering Education, 21(3), pp. 467-474.

Chakraborty, P., Saxena, P. C., and Katti, C. P., 2011. Fifty years of automata simulation: a review. ACM Inroads, 2(4), pp. 59-70.

Chesnevar, C. I., Cobo, M. L., and Yurcik, W., 2003. Using theoretical computer simulators for formal languages and automata theory. ACM SIGCSE Bulletin, 35(2), pp. 33-37.

Chesnevar, C. I., González, M. P. and Maguitman, A. G., 2004. Didactic strategies for promoting significant learning in formal languages and automata theory. ACM SIGCSE Bulletin, 36(3), pp. 7-11.

Djordjevic, J., Nikolic, B. and Milenkovic, A., 2005. FlexibleWeb-Based Educational System for Teaching Computer Architecture and Organization. IEEE Transactions on Education, 48(2), pp. 264-273.

Fitch, W. T. and Friederici, A. D., 2012. Artificial grammar learning meets formal language theory: an overview. Philosophical Transactions of the Royal Society B, 367(1598), pp. 1933-1955.

Huppert, J., Lomask, S. M. and Lazarowitz, R., 2002. Computer simulations in the high school: Students' cognitive stages, science process skills and academic achievement in microbiology. International Journal of Science Education. 24(8), pp. 803-821.

Indu, J., 2016. Technique for Conversion of Regular Expression to and from Finite Automata. International Journal of Recent Research Aspects, Vol. 3(2), pp 62-64.

Jäger, G., and Rogers, J., 2012. Formal language theory: refining the Chomsky hierarchy. Philosophical Transactions of the Royal Society B, 367(1598), pp. 1956-1970.

Jovanović, N. and Zakić, A., 2018. Network simulation tools and spectral graph theory in teaching computer network. Computer Applications in Engineering Education, 26(6), pp. 2084-2091.

Jovanović, N., Jovanović, Z. and Jevremović, A., 2016. Evaluation of simulators for teaching computer networks. The International journal of engineering education, 32(5), pp. 2098-2106.

Jovanović, N., Popović, R. and Jovanović, Z., 2009. WNetSim: a web-based computer network simulator. International Journal of Electrical Engineering Education, 46(4), pp. 383-396.

Jovanović, N., Popović, R., Marković, S. and Jovanovic, Z., 2012. Web laboratory for computer network. Computer Applications in Engineering Education, 20(3), pp. 493-502.

Jovanović, N., Zakić, A., and Veinović, M., 2016. VirtualMeshLab: Virtual laboratory for teaching wireless mesh network. Computer Applications in Engineering Education, 24(4), pp. 567-576.

Knobelsdorf, M., Kreitz, C. and Böhne, S., 2014. Teaching theoretical computer science using a cognitive apprenticeship approach. In Proceedings of the 45th ACM technical symposium on Computer science education, pp. 67-72.

Konold, C., and Miller, C. D., 2005. TinkerPlots: Dynamic data exploration. Computer software. Emeryville, CA: Key Curriculum Press.

Koparan, T., and Yilmaz, G. K., 2015. The Effect of Simulation-Based Learning on Prospective Teachers' Inference Skills in Teaching Probability. Universal Journal of Educational Research, 3(11), pp. 775-786.

Kundra, D. and Sureka, A., 2016. An experience report on teaching compiler design concepts using case-based and project-based learning approaches. In 2016 IEEE Eighth International Conference on Technology for Education (T4E), pp. 216-219.

Lindgren, R., and Schwartz, D., 2009. Spatial Learning and computer simulations in science. International Journal of Science Education, 31(3), pp. 419–438.

Linz, P., 2012. An introduction to formal languages and automata, 5th ed. London: Jones & Bartlett Learning.

LoSacco, M. and Rodger, S., 1993. FLAP: A tool for drawing and simulating automata. EDMEDIA 93, pp. 310-317.

Marcial-Romero, J. R., Alvarez Contreras, P. A., Montes Venegas, H. A., and Hernández Servín, J. A., 2009. A simulator for teaching automatas and formal languages: FLyA. ICEIS 2009 - 11th International Conference on Enterprise Information Systems, Proceedings, pp. 175–178.

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

Nahvi, M., 1996. Dynamics of student-computer interaction in a simulation environment: Reflections on curricular issues. Proceedings of the IEEE Frontiers in Education, USA, pp. 1383-1386.

Naveed, M. S. and Sarim, M., 2018. Didactic Strategy for Learning Theory of Automata & Formal Languages. Proceedings of the Pakistan Academy of Sciences: A. Physical and Computational Sciences, 55(2), pp. 55-67.

Procopiuc, M., Procopiuc, O. and Rodger, S. H., 1996. Visualization and interaction in the computer science formal languages course with JFLAP. In Frontiers in Education FIE'96 26th Annual Conference, pp. 121-125.

Robinson, M. B., Hamshar, J. A., Novillo, J. E. and Duchowski, A. T., 1999. A Java-based tool for reasoning about models of computation through simulating finite automata and Turing machines. In ACM SIGCSE Bulletin, 31(1), pp. 105-109).

Rodger, S. H. and Finley, T. W., 2006. JFLAP: an interactive formal languages and automata package. London: Jones & Bartlett Publishers.

Rodger, S. H., Lim, J. and Reading, S., 2007. Increasing interaction and support in the formal languages and automata theory course. In ACM SIGCSE Bulletin, 39(3), pp. 58-62.

Rodger, S. H., Wiebe, E., Lee, K. M., Morgan, C., Omar, K. and Su, J., 2009. Increasing engagement in automata theory with JFLAP. In ACM SIGCSE Bulletin, 41(1), pp. 403-407.

Rutten, N., Van Joolingen, W. R., and Van der Veen, J. T., 2012. The learning effects of computer simulations in science education. Computers & Education, Elsevier, 58(2012), pp. 136-153.

Sangal, S., Kataria, S., Tyagi, T., Gupta, N., Kirtani, Y., Agrawal, S. and Chakraborty, P., 2018. PAVT: a tool to visualize and teach parsing algorithms. Education and Information Technologies, 23(6), pp. 2737-2764.

Singh, T., Afreen, S., Chakraborty, P., Raj, R., Yadav, S. and Jain, D., 2019. Automata Simulator: A mobile app to teach theory of computation. Computer Applications in Engineering Education, [online]. Available at: [Accessed 11 Aug. 2019].

Soderberg, P., and Price, F., 2003. An examination of problem-based teaching and learning in population genetics and evolution using EVOLVE, a computer simulation. International Journal of Science Education, 25(1), pp. 35-55.

Stanković, M., Stojković, S. and Tošić, Ž., 2018. Programski prevodioci. Niš: Elektronski fakultet.

Su, Y. and Yan, S. Y., 2012. Principles of Compilers: A New Approach to Compilers Including the Algebraic Method. Beijing: Higher Education Press.

Taher, M., and Khan, A., 2014. Impact of Simulation-based and Hands-on Teaching Methodologies on Students’ Learning in an Engineering Technology Program. Proceedings of the ASEE Annual Conference & Exposition , pp. 1-22.

Vieira, L. F. M., Vieira, M. A. M. and Vieira, N. J., 2004. Language emulator, a helpful toolkit in the learning process of computer theory. In ACM SIGCSE Bulletin, 36(1), pp. 135-139.

White, E. L., Ruby, J. and Deddens, L. D., 1999. Software visualization of LR parsing and synthesized attribute evaluation. Software: Practice and Experience, 29(1), pp. 1-16.

White, T. M. and Way, T. P., 2006. jFAST: A java finite automata simulator. In ACM SIGCSE Bulletin, 38(1), 384-388.

Witzig, A., Prandini, M., Wolf, A., and Kunath, L., 2016. Teaching Renewable Energy Systems by Use of Simulation Software: Experience at Universities of Applied Sciences, in In-Service Training, and from International Know-How Transfer. Presented at and in the proceedings of Eurosun.žWolfram, S., 2003. The Mathematica Book, 5th ed. Wolfram Media, Inc.

Yalagi, P. S. and Dixit, R. K., 2017. Enhancing the learning ability using JFLAP for Theory of Computation Course. Journal of Engineering Education Transformations, pp. 1-6.

Zhang, W. and Jie, L., 2018. Application of Simulation Software in Analog Electronic Technology Teaching. DEStech Transactions on Social Science, Education and Human Science, (ICESSH 2018), pp. 6-10.