From: <pcm...@us...> - 2008-03-06 07:15:59
|
Revision: 775 http://javapathfinder.svn.sourceforge.net/javapathfinder/?rev=775&view=rev Author: pcmehlitz Date: 2008-03-05 23:15:53 -0800 (Wed, 05 Mar 2008) Log Message: ----------- * created generic StateExtensionListener/Client to better support backtrackable state extensions like script environment states etc * added Iterators to the ScriptElementContainer hierarchy, which also handles the loops in Repetition * created a SequenceInterpreter to enable control flow in scripts (e.g. real loops) * used all that to create a ScriptEnvironment that replaces the old and rather flawed EventGeneratorFactory. This keeps track of active sequences and associated interpreters. A rather expensive mechanism, but conceptually cleaner than the old EventGeneratorFactory that became a mess with sequence composition and loops * used this to move the statechart extension over to ScriptEnvironment * modified the NativeStateMachine to use event polymorphism instead of the braindead updateList / EventSource to remove/pool PendingEvents when they are processed. We can do this since we already have the SCEvent factory method in NativeSateMachine * now keep track of re-entered states, even though the jury is still out if script sections should be restarted by self transitions * fixed missing sync CGs in INVOKESPECIAL (refactored into InvokeInstruction) Modified Paths: -------------- trunk/extensions/statechart/env/jpf/gov/nasa/jpf/sc/PendingEventQueue.java trunk/extensions/statechart/env/jpf/gov/nasa/jpf/sc/State.java trunk/extensions/statechart/env/jpf/gov/nasa/jpf/sc/StateMachine.java trunk/extensions/statechart/env/jvm/gov/nasa/jpf/jvm/NativeStateMachine.java trunk/extensions/statechart/src/gov/nasa/jpf/jvm/choice/sc/SCEvent.java trunk/extensions/statechart/src/gov/nasa/jpf/jvm/choice/sc/SCEventGeneratorFactory.java trunk/extensions/statechart/src/gov/nasa/jpf/tools/sc/SimStateMachine.java trunk/src/gov/nasa/jpf/jvm/bytecode/INVOKESPECIAL.java trunk/src/gov/nasa/jpf/jvm/bytecode/InvokeInstruction.java trunk/src/gov/nasa/jpf/jvm/bytecode/VirtualInvocation.java trunk/src/gov/nasa/jpf/util/Misc.java trunk/src/gov/nasa/jpf/util/script/Alternative.java trunk/src/gov/nasa/jpf/util/script/ESParser.java trunk/src/gov/nasa/jpf/util/script/Event.java trunk/src/gov/nasa/jpf/util/script/EventGeneratorFactory.java trunk/src/gov/nasa/jpf/util/script/Repetition.java trunk/src/gov/nasa/jpf/util/script/Script.java trunk/src/gov/nasa/jpf/util/script/ScriptElement.java trunk/src/gov/nasa/jpf/util/script/ScriptElementContainer.java trunk/src/gov/nasa/jpf/util/script/Section.java Added Paths: ----------- trunk/extensions/statechart/src/gov/nasa/jpf/jvm/choice/sc/SCScriptEnvironment.java trunk/extensions/statechart/src/gov/nasa/jpf/jvm/choice/sc/SentSCEvent.java trunk/src/gov/nasa/jpf/StateExtension.java trunk/src/gov/nasa/jpf/util/StateExtensionClient.java trunk/src/gov/nasa/jpf/util/StateExtensionListener.java trunk/src/gov/nasa/jpf/util/script/ScriptEnvironment.java trunk/src/gov/nasa/jpf/util/script/SequenceInterpreter.java This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |