Changes made to JFLAP - Mar. 5, 2003

JFLAP 4.0b3, 5 March 2003 FIXES * The NPDA to CFG converter no longer places limits on the amount of characters read from input. * Problem with recognizing identical configurations in PDAs for simulation of input fixed. * Transitions with long labels don't have the labels drawn at noticably different angles to the transition line. * Dragging self loop transitions no longer causes movement of the transition and associated states to happen in double time. * An error that sometimes caused portions of an automaton to be drawn off screen (especially self loop transitions) has been fixed. * The useless production removal process no longer has the problem of some useless productions remaining for some grammars. * In SLR(1) parse table building, JFLAP would sometimes mistakenly identify an item in the parse table as being "accept" when it should not have been; this has been fixed. FEATURES & OTHER NON-BUG CHANGES * Automaton editors display scroll bars if a portion of an automaton is off screen. * When simulating input by stepping, PDA and FSA configurations will display with not only remaining input, but show already processed input greyed out. Existing output will scroll off as before in event of long inputs. * Clarity of NFA to DFA feedback messages improved. * LR(1) parse tables are now properly identified as SLR(1) parse tables. * Added the ability to hide labels within a view. In an editor view, use the attribute editor and right click in a blank area of the view where the automaton is drawn. This will also work in any automaton view. * Added a graph layout algorithm! In addition to giving the user the ability to apply the layout algorithm to an automaton they are editing, the layout algorithm is used in the background with many areas of JFLAP where the tool creates states. The user's ability to apply the algorithm is available in the same menu as for hiding labels; it is only available in views where one can move states. * The grammar table will display the lambda character in the right hand side of lambda productions instead of just leaving the right hand side blank. * Typing the lambda "!" character in the LL(1) parse table will be properly displayed as the lambda character in the table.