APPENDIX B

JFLAP: A USEFUL TOOL

The basic premise of this book is that understanding difficult abstract concepts is best achieved through illustrative examples and challenging exercises, so problem solving is a central theme of our approach. Solving a difficult problem normally involves two distinct steps. First we must understand the issues, decide what theorems and results apply, and how to put it all together to arrive at a solution. This tends to be the most difficult part and often requires insight and inventiveness. But once we have a clear understanding of the solution process, a more routine step is still necessary to produce concrete results. In our study, this involves actually constructing automata or grammars and testing them for correctness. This step may be less challenging but tedious and error prone. It is here that mechanical help in the form of software can be very useful. In my experience, JFLAP serves this purpose admirably.

JFLAP is an interactive tool built on the concepts in this book. It was created by Professor Susan Rodger and her students at Duke University. It has been used successfully in many universities over a number of years. Some JFLAP-related material is collected in JPAK, available online at: go.jblearning.com/LinzJPAK. JPAK gives you a brief introduction to JFLAP, how to get it and how to use it. It also contains many exercise examples that illustrate the power of JFLAP as well as a useful library of functions.

JFLAP is useful in many ways. For the student, JFLAP gives a way of seeing how abstract concepts are implemented in practice. Seeing how a difficult construction, such as the conversion of a dfa to a regular expression, is implemented brings to life something that may be difficult to grasp otherwise. Nonintuitive concepts, such as nondeterminism, are illustrated in a practical way. JFLAP is also a great time saver. Constructing, testing, and modifying automata and grammars can be done in a fraction of the time it takes with the more traditional pencil-and-paper method. Since extensive testing is easy, it will also improve the quality of the final product.

Instructors can also benefit from JFLAP. Electronic submission and batch grading will save much effort, while at the same time increasing the accuracy and fairness of the evaluations. Exercises that are instructive, but often avoided because of the large amount of busywork involved, are now possible. An example here is the conversion from a right-linear grammar to an equivalent left-linear one. Working with Turing machines is notoriously onerous and error prone, but with JFLAP many more challenging assignments become reasonable. JPAK has a large number of such exercises. Finally, since JPAK contains the JFLAP implementations of many of the examples in the book, there is an opportunity for a dynamic classroom presentation of these examples.

JFLAP is pretty much self-explanatory and little effort is needed in learning to use it. I strongly recommend its use to both students and instructors.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.218.5.12