Preferences

Introduction

The Preferences menu is located in the JFLAP main menu. The picture below shows the options contained therein. Whenever a preference is changed, JFLAP will create a small file to store your choice that will be loaded every time JFLAP runs. When moving the JFLAP jar file you must also move this file, “jflapPreferences.xml.” Otherwise, your choices will be forgotten and the machine will utilize its defaults. There is no way to save files such that the empty string will always be lambda or epsilon on any other machine, since it depends on the user's preference file.

Empty String

"Set the Empty String Character" will allow you to change the empty string symbol JFLAP uses. When you click on this option, the window below will appear. It allows you choose whether you wish to use lambda or epsilon for the empty string. By default, JFLAP uses lambda as the empty string.

Number of Undos

"Set Undo Amount" is the second preference. It allows you to set the number of actions you are able to Undo when working in one of the state diagram editors. This defaults to 50, which will work fine on most machines. A higher number requires more memory, and JFLAP could become unstable if this number is set too high.

Turing Machine Preferences

Turing Machine Pref Screenshot

Transitions from Turing Machine Final States

"Enable Transitions From Turing Machine Final States" has been moved to the Turing Machine Preferences submenu. It allows you to toggle whether or not JFLAP will simulate Turing machines when they have final states with transitions issuing from them. By default, the transitions are not allowed, although they were in earlier versions of JFLAP. When enabled, a check will appear in the check box to the left of the choice.

Accept by Final State / Accept by Halting

These two options are also Turing Machine preferences. They allow the user to specify whether Turing machines will accept when they are in a final state, or accept when they halt, both, or neither. If neither option is selected, then the Turing Machine will always reject. By default, Accept by Final State is selected, while Accept by Halting is not selected, since this was the behavior in JFLAP 6.4.
Note: These options apply only to the outer-level Turing machine. Building Blocks always exit on halt, ignoring any final states.

Allow Stay for tape head on transition

Some Turing machine definitions restrict the movement of the tape head to either Left or Right on each transition. When this option is unchecked, that is the definition. This option is unchecked by default, because most textbooks move from the restricted definition to the more flexible definition which allows the tape head to stay. Please see the ChangeLog for details.