From: <fra...@us...> - 2009-08-14 18:53:29
|
Revision: 1828 http://javapathfinder.svn.sourceforge.net/javapathfinder/?rev=1828&view=rev Author: frankrimlinger Date: 2009-08-14 18:53:22 +0000 (Fri, 14 Aug 2009) Log Message: ----------- Rehab of state translation (rev 1823) complete. Now rebuild existing sessions so typing and translation can settle down. Then onto advance rule auto-generation (rev 1818). When this is done, fold HeapPtr class into typing system (rev 1810). At this point we must cease development and declare MangoBaseline. Mango can then be cloned off and finally can start using jpf in sophisticated ways, starting with separation of context and composition (see below). Of course, there is still much testing to do in MangoBaseline, to run in parallel. An interesting problem arises when translating the called frame. In this case, non-parameter local variables are relevant, as a loop can and usually does have counters whose scope is that of the loop. The best we can do in this case is use the line number supplied in the frame context for the local variable look up. This should work, because the line number should be at the end of the loop body, and all locals whose scope is strictly interior to the loop body should have already evaluated out. We also deduce the method from the frame context, looking ahead to the day recursive methods are taken seriously. Ah, I finally get it. Using jpf, we can go backwards along the excution path, working our way up the call chain, collecting the context for each frame, and then translating accordingly. So even in the recursive case, we can cleanly separate issues requiring context from issues that don't, in particular, from state composition. Separation of context and composition is the number one priority, as soon as MangoBaseline is established. Revision Links: -------------- http://javapathfinder.svn.sourceforge.net/javapathfinder/?rev=1823&view=rev http://javapathfinder.svn.sourceforge.net/javapathfinder/?rev=1818&view=rev http://javapathfinder.svn.sourceforge.net/javapathfinder/?rev=1810&view=rev Modified Paths: -------------- branches/mango/Mango/Mango/src/mango/worker/engine/hash/symbolHash/SymbolHashTyping.java branches/mango/Mango/Mango/src/mango/worker/workFlow/model/HitemUtil.java branches/mango/Mango/Mango/src/mango/worker/workFlow/translate/agent/TranslateModuleAgent.java branches/mango/Mango/Mango/src/mango/worker/workFlow/translate/model/TranslationUtil.java branches/mango/Mango/javapathfinder-mango-bridge/mango/FormalTypes.java branches/mango/Mango/mangoUserHome/frank/rules/rulebase.zip branches/mango/Mango/mangoUserHome/frank/sessions/a.zip branches/mango/Mango/mangoUserHome/frank/sessions/baseline/itsAWrap/clear([I)V/loops/-baseline.itsAWrap.clear([I)V#8- dload_i_Code_01/op0 is less than 10.zip This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |