T
Appendix B
JFLAP:
A Recommendation
he 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 overa numberof years. The CD that comes with
this book gives you a brief introduction to JFLAP, how to get it and how to use
it. The CD also contains many exercises that illustrate the power of JFLAP as
well as a library of functions that are helpful in studying the material in the book.
JFLAP is useful in many ways. Forthe 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.
Non-intuitive concepts, such as nondeterminism, are illustrated in a practical
way. JFLAP is also a great time saver. Constructing, testing, and modifying
Précédent

- 469/532

Suivant