Trying to add the text size sliders to the panels that could use it, such as the Parse Panes. However, no matter how I add it in, they just wont show up. Very frustrating. We'll probably delay the release until the end or summer or beginning of the fall, since we still have to integrate the versions. I am also planning to add the expression shortcuts to the PDAs.
Adding the option to only accept single character transitions for the pushdown automaton. When enabled, the editor does not accept multiple character strings for transition arguments. Pop exact one character, push zero or one character.
Added the savepreferences code for saving the number of undo actions in preferences to the xml file. I think I got the PDA to accept with a completely empty stack instead of accepting when the bottom of the stack marker is still on the stack.
Trying to add Color selection for the states. Unfortunately, there is little interaction between the objects that are necessary to link for the functionality. I'm trying to come up with some way to do this.
Testing the Accept by Empty stack for Pushdown Automata. It seems to work. I'll have to check that both the automaton and the individual configuration both accept correctly and on the proper step. Professor Astrachan's talk was quite engaging today.
Third iteration of the curvature algorithm, that only take perpendicular distance to the line between the states, instead of changing curvature when adjusting along that imaginary parallel line. Also, I enabled the accept by empty stack condition for PDAs. Now I'm testing it to see if it's implemented correctly.
Finishing up the transition curvature. Got it to be consistent, though I needed an algorithm change. My original formula was based on the difference in y-axis distances, which is fine for states on the same horizontal line. My new algorithm also is consistent for states in a vertical line, by taking into account x-axis distance in perpendicular plane to the center of the states. Henry asked me to move and fix the Undo Set Amount option to the Dialogue menu instead of the file menu, which needed a bit of rewriting, since originally the AutomatonEnvironment was required, but is not initialized in the Preferences Dialogue
Making progress in having JFLAP store the curvature for transitions, doing it in a similar way to the self transitions with a supplementary map. Also, we need to decide what to do when there are forward and backward transitions on two states. Originally, the transitions are automatically arced in opposite positions. Should we allow the transitions to be on the same side?
Adding manual transition curving. Instead of modifying the Quadcurve, I use the custom written curvature factor, so the transition remains symmetrical. This way fits into the existing code better. Now im running into the same problem as with the selftransitions, where all transitions are cleared and redrawn with every change to the automaton.
Read "The Cathedral and the Bazaar," which discusses the experiences of Eric Steven Raymond, the developer of fetchmail as an open source project, with references to Linux. Pretty interesting read, and probably very relevant if we decide to make JFLAP open source. Looking into modifying the transitions to allow user changes to the appearance of the curves.
Fixed the Configuration selection bug. Apparently the JtoggleButton was the inherent selection, which was neglected originally. Now the GUI appearance will not be misleading.
We decided to implement adjusting the font for the Note zooming so we used the code i wrote previously. Looking at the Configurations for the Configuration Pane to fix the slection/freezing/thawing bug.
Previously the automaton zoom/scaling did not resize the Notes, so I'm trying to rescale them as well on a similar scale. I discovered that the notes behave sporadically when moved at a higher zoom. Actually, since the graphics object is being resized, Henry is going to try to make sure the notes aren't drawn out of order, so the automaton resizer will work. Going through the code to find uncommented/undocumented classes, and fixing typos.
Continuing through the tutorials. Apparently the saving of the canvas as various image formats was broken for Linux when I had trouble with the directories. I added text sliders to the user control grammar parsing and the CYK Parse. Added text size slider to Right linear grammar conversion to FA, CFG to PDA (LL) and (LR), and Grammar transform pane. Discovered that the Undo function does not work for Turing Building Blocks.
Tested the delete tool to see if it deletes correct stacked states. Testing, referencing tutorials, went through FSA conversion, Mealy, Moore, PDA. In the PDA to grammar conversion, added a text size slider. Continuing testing, i think there's an issue with the Undo/Redo and the turing machine building block tool, it's not reading it correctly. Also added a text size slider to ParsePane.
Adding javadocs to some code. Looking through the Simulation and Configuration code to try to figure out the selection inconsistencies when stepping an automaton. Fixed the delete cursor so the hotspot is the center of the X instead of the default left corner of the cursor image. Skimmed some of the Undo code just to see how it works.
Doing some testing today, running through the FSA online tutorials as a reference. The freezing and thawing and selecting and the indication of selection each of the panes of the individual configurations is somewhat odd. Also, when labeling FSA transitions on the canvas, the cell is selected, but sometimes can't be typed in and must be doubleclicked.
I got the Simulator to accept shortcut ranges, so the drawing will be simplified. Somehow the remaining input is processed incorrectly, which I'm trying to figure out. I can't see where the unprocessed input is updated; the setUnprocessedInput does not seem to be called.
Nevermind, fixed the unprocessed input discrepancy. I think a more robust parser could be pursued next, for letters and integers other than what i've tested so far. I'm not sure if there's a standard way to do this.
It looks like the shortcut works for single digit integers, lowercase letters, and uppercase letters.
Nevermind, fixed the unprocessed input discrepancy. I think a more robust parser could be pursued next, for letters and integers other than what i've tested so far. I'm not sure if there's a standard way to do this.
It looks like the shortcut works for single digit integers, lowercase letters, and uppercase letters.
Not only does the undo function not undo JFLAP Notes actions, I discovered a reproducible OutOfMemoryError, regarding GC overhead when working with JFLAP Notes, Undo, and Redo and conveyed it to Henry. With respect to the range of transitions, Henry and I brainstormed for a while and came up with a seemingly viable solution to having the simulator handle parsing transition label shortcuts.
Fixed the version control, updated CVS with the relevant changes I've made. Tried to reinstall Batik and messed with the build path, but I keep getting errors with it. Originally, the file had odd formatting or something that caused eclipse to mark nearly every line as a compile error. I skimmed the Google Analytics page to see if it would be useful for JFLAP. Since I seem to be hitting a roadblock, i started to do some testing. Apparently the Automaton zooming doesn't zoom the notes. Also, I don't think the undo function acknowledges notes either.
