Instructors find it challenging to teach the compiler construction course, because the course introduces students to several abstract concepts and complex algorithms. Simulation tools enable students to visualize the theoretical concepts, give them a platform for experimentation, and provide them accurate results of their experiments instantaneously. This paper offers a review of 16 simulation systems suitable for teaching the compiler construction course. Evaluation criteria have been defined, and they have been used in the process of evaluation of the selected simulators. The results of the evaluation will be useful to instructors when choosing a simulator suitable for teaching their courses.
This paper describes educational software for visualization and finite automata simulation. The system was developed in Java programming language, and its main purpose is learning process improvement. Using this software, finite automata can be defined in a graphical editor in the form of a state diagram, or by defining the transition function using the transition table. Upon defining an automaton, it is possible to run a visual simulation of the automaton operation for an arbitrary input string, whereby a textual description of the automaton simulation is also obtained. Furthermore, the system allows for conversion of regular expressions to deterministic finite automata and nondeterministic finite automata. The simulation of Thompson's construction algorithm is implemented, so that transformation of a regular expression to the corresponding NFA can be monitored in a step‐by‐step process. The quantitative analysis and evaluation of the effectiveness of the simulator are based on a survey of undergraduate students at two universities. The majority of students found the tool a useful means for better understanding and mastering of finite automata concepts.
Sažetak: U ovom radu izvršena je analiza simulacionih sistema za učenje programskih prevodilaca, predstavljene su njihove tehničke karakteristike, teme koje obrađuju, benefiti njihovog korišćenja u nastavi, kao i prednosti i mane svakog analiziranog simulatora. Na osnovu ovih informacija čitalac lako može da donese odluku o tome koji simulator je za njegove potrebe najpogodniji. Simulatori su u obrazovanju prepoznati kao alati za efikasno proučavanje kompleksnih i dinamičnih sistema. Veliki broj teorijskih apstraktnih koncepata iz različitih faza programskog prevođenja može se ilustrovati pomoću simulatora. Simulacioni sistemi u oblasti programskih prevodilaca predstavljaju odličan spoj teorijskog i praktičnog iskustva, i kao takvi doprinose unapređenju nastavnog procesa.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.