A Study of Teaching Tools for Parsing
摘要
Compiler design courses usually require students to build a small compiler as the course project to help students understand practical issues in compiler development. These projects use parser generators extensively to develop the front end. However, since parser generators are created for professional compiler developers, they assume that the end-user has complete knowledge of the theory of parsing. Since the students learn the theory of parsing almost simultaneously, they are unable to make use of the error messages and the diagnostics provided by these tools. Various teaching tools have been developed to overcome this issue by making the process of parsing interactive and providing user-friendly messages. In this paper, we present an experience and comparison report for teaching tools that explain the process of parsing, such as LL(1), LR(0), ParseIT, and JFLAP. We found that these tools, except ParseIT, focus on the practical aspects of the compiler design but do not help students connect with the theoretical concepts. On the other hand, ParseIT uses short quizzes and auto-generated examples to help students understand the theoretical aspects of the course, but it is relatively difficult to use.