|
From: <fra...@us...> - 2009-07-08 04:19:19
|
Revision: 1734
http://javapathfinder.svn.sourceforge.net/javapathfinder/?rev=1734&view=rev
Author: frankrimlinger
Date: 2009-07-08 02:26:50 +0000 (Wed, 08 Jul 2009)
Log Message:
-----------
Move of MangoJPF to Mango complete.
Modified Paths:
--------------
branches/mango/Mango/.project
branches/mango/Mango/.settings/org.eclipse.jdt.core.prefs
branches/mango/Mango/META-INF/Mango.product
branches/mango/Mango/Mango/src/mango/worker/Worker.java
branches/mango/Mango/introContent.xml
branches/mango/Mango/javapathfinder-mango-bridge/mango/scanner/MangoClassPeer.java
branches/mango/Mango/jpf jar command.rtf
branches/mango/Mango/plugin.xml
branches/mango/Mango/src/mango/intro/ApplicationWorkbenchWindowAdvisor.java
branches/mango/Mango/src/mango/intro/ConfigurationDetails.java
branches/mango/Mango/src/mango/intro/LoginDialog.java
branches/mango/Mango/src/mango/views/GlobalViewWindow.java
branches/mango/Mango/toc.xml
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fra...@us...> - 2009-07-08 06:01:34
|
Revision: 1735
http://javapathfinder.svn.sourceforge.net/javapathfinder/?rev=1735&view=rev
Author: frankrimlinger
Date: 2009-07-08 06:01:31 +0000 (Wed, 08 Jul 2009)
Log Message:
-----------
Fixed code survey bug. Rebuilt most of the system native mango package in the rulebase. Still need to write some abstractions for Mango_ArrayList, Mango_String, and Mango_StringBuffer. Then can use Mango to rebuild the java package aliased classes.
Modified Paths:
--------------
branches/mango/Mango/META-INF/Mango.product
branches/mango/Mango/javapathfinder-mango-bridge/mango/scanner/CodeSurvey.java
branches/mango/Mango/mangoUserHome/frank/rules/rulebase.zip
branches/mango/Mango/mangoUserHome/marc/try1/extest/try1.java
Added Paths:
-----------
branches/mango/Mango/mangoUserHome/frank/sessions/extest/try1/case.zip
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fra...@us...> - 2009-07-08 20:09:14
|
Revision: 1737
http://javapathfinder.svn.sourceforge.net/javapathfinder/?rev=1737&view=rev
Author: frankrimlinger
Date: 2009-07-08 20:09:01 +0000 (Wed, 08 Jul 2009)
Log Message:
-----------
Updated some stale usages, and completed all hand-written formal specification rules in the mango package of the system code. The Mango tool itself should now be able to regenerate the rest of the system.
Modified Paths:
--------------
branches/mango/Mango/Mango/src/mango/core/CoreMangoActiveObject.java
branches/mango/Mango/Mango/src/mango/core/CoreRule.java
branches/mango/Mango/Mango/src/mango/core/CoreSymFactory.java
branches/mango/Mango/Mango/src/mango/core/gui/action/CoreDeleteAction.java
branches/mango/Mango/Mango/src/mango/core/gui/action/CorePasteAction.java
branches/mango/Mango/Mango/src/mango/core/gui/action/ImportCoreRuleAction.java
branches/mango/Mango/Mango/src/mango/core/gui/action/ImportCoreTierAction.java
branches/mango/Mango/Mango/src/mango/core/gui/tablemodel/CoreRuleBaseTableModel.java
branches/mango/Mango/Mango/src/mango/core/gui/tablemodel/CoreTierTableModel.java
branches/mango/Mango/Mango/src/mango/core/gui/window/CoreRuleBaseWindow.java
branches/mango/Mango/Mango/src/mango/module/definition/sym/ParamSym.java
branches/mango/Mango/Mango/src/mango/rmi/file/MangoFilePacketEnumerator.java
branches/mango/Mango/Mango/src/mango/worker/Worker.java
branches/mango/Mango/Mango/src/mango/worker/WorkerControl.java
branches/mango/Mango/Mango/src/mango/worker/engine/hash/Hitem.java
branches/mango/Mango/Mango/src/mango/worker/engine/hash/Kons.java
branches/mango/Mango/Mango/src/mango/worker/engine/hash/symbolHash/SymbolHash.java
branches/mango/Mango/Mango/src/mango/worker/engine/hash/symbolHash/SymbolHashInitialize.java
branches/mango/Mango/Mango/src/mango/worker/engine/hash/symbolHash/SymbolHashLogicAndArithmetic.java
branches/mango/Mango/Mango/src/mango/worker/msg/RulebaseMsg.java
branches/mango/Mango/mangoUserHome/frank/rules/rulebase.zip
branches/mango/Mango/mangoUserHome/system/System/java/lang/Object_MangoFormal.java
branches/mango/Mango/mangoUserHome/system/System/mango/util/Mango_ArrayList.java
branches/mango/Mango/src/mango/views/GenSpecWindow.java
Added Paths:
-----------
branches/mango/Mango/mangoUserHome/system/System/mango/cheat_sheet.txt
branches/mango/Mango/mangoUserHome/system/System/mango/lang/Mango_StringBuffer.append worksheet.txt
branches/mango/Mango/mangoUserHome/system/System/mango/lang/Mango_StringBuffer.length worksheet.txt
branches/mango/Mango/mangoUserHome/system/System/mango/util/Mango_ArrayList.add worksheet.txt
Removed Paths:
-------------
branches/mango/Mango/mangoUserHome/frank/sessions/a.zip
branches/mango/Mango/mangoUserHome/system/System/mango/lang/Mango_String.length worksheet.rtf
branches/mango/Mango/mangoUserHome/system/System/mango/lang/Mango_StringBuffer.append worksheet.rtf
branches/mango/Mango/mangoUserHome/system/System/mango/util/Mango_ArrayList.add worksheet.rtf
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fra...@us...> - 2009-07-08 21:46:41
|
Revision: 1739
http://javapathfinder.svn.sourceforge.net/javapathfinder/?rev=1739&view=rev
Author: frankrimlinger
Date: 2009-07-08 21:46:41 +0000 (Wed, 08 Jul 2009)
Log Message:
-----------
Fixed return type translation bug. Added reset automation to CloseCase message.
Next bug: the session save directory is not correctly determined during CloseCase reset. Use Object_MangoFormal.equals() to debug.
Modified Paths:
--------------
branches/mango/Mango/Mango/src/mango/module/definition/msg/CloseCaseMsg.java
branches/mango/Mango/Mango/src/mango/module/definition/msg/DeleteUnusedParametersMsg.java
branches/mango/Mango/Mango/src/mango/worker/msg/SaveScriptMsg.java
branches/mango/Mango/Mango/src/mango/worker/workFlow/model/JavaType.java
branches/mango/Mango/Mango/src/mango/worker/workFlow/model/WorkFlowUtil.java
branches/mango/Mango/mangoUserHome/frank/rules/rulebase.zip
Added Paths:
-----------
branches/mango/Mango/mangoUserHome/frank/sessions/a.zip
branches/mango/Mango/mangoUserHome/frank/sessions/java/
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/Object_MangoFormal/
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fra...@us...> - 2009-07-09 05:26:23
|
Revision: 1740
http://javapathfinder.svn.sourceforge.net/javapathfinder/?rev=1740&view=rev
Author: frankrimlinger
Date: 2009-07-09 05:26:16 +0000 (Thu, 09 Jul 2009)
Log Message:
-----------
Auto reset now working for cases. Fixed (another) invocation frame bug. Refined procedure for detecting thrown exception. Completed spec for <init> and hashCode() in Object_MangoFormal.
Modified Paths:
--------------
branches/mango/Mango/Mango/src/mango/ruleAction/coreRewriter/clinit/ThrewException.java
branches/mango/Mango/Mango/src/mango/script/gui/action/ScriptSaveAction.java
branches/mango/Mango/Mango/src/mango/worker/Worker.java
branches/mango/Mango/Mango/src/mango/worker/workFlow/model/HitemUtil.java
branches/mango/Mango/javapathfinder-mango-bridge/mango/scanner/Invocation.java
branches/mango/Mango/javapathfinder-mango-bridge/mango/scanner/bytecode/INVOKEINTERFACE.java
branches/mango/Mango/javapathfinder-mango-bridge/mango/scanner/bytecode/INVOKESPECIAL.java
branches/mango/Mango/javapathfinder-mango-bridge/mango/scanner/bytecode/INVOKESTATIC.java
branches/mango/Mango/javapathfinder-mango-bridge/mango/scanner/bytecode/INVOKEVIRTUAL.java
branches/mango/Mango/mangoUserHome/frank/rules/rulebase.zip
Added Paths:
-----------
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/Object_MangoFormal/equals(Ljava.lang.Object_MangoFormal;)Z/
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/Object_MangoFormal/equals(Ljava.lang.Object_MangoFormal;)Z/'this' does not equal 'obj'.zip
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/Object_MangoFormal/equals(Ljava.lang.Object_MangoFormal;)Z/'this' equals 'obj'.zip
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/Object_MangoFormal/hashCode()I/
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/Object_MangoFormal/hashCode()I/case.zip
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fra...@us...> - 2009-07-09 21:02:05
|
Revision: 1741
http://javapathfinder.svn.sourceforge.net/javapathfinder/?rev=1741&view=rev
Author: frankrimlinger
Date: 2009-07-09 21:02:04 +0000 (Thu, 09 Jul 2009)
Log Message:
-----------
Fixed some problems with the new "location" type parameter. This is now working correctly and improves readability of formal expressions. Some native abstractions (hand written specifications) for Mango_String were not present, and these have been added. At this point all native abstactions in the mango package have been written, I *think*. However, there are still some methods of java.lang.String_MangoFormal and StringBuffer_MangoFormal to write before the foundation of string manipulation is solid. Then it should be possible to use the tool to build the rest of Object_MangoFormal and Class_MangoFormal.
Added stubs for the MangoFormal version of certain exception classes. The presence of these stubs is all that mango needs to create exception objects for explicitly thrown exceptions. This allowed abstraction of the NullPointerException case of Class_MangoFormal.forName(), which might come up occasionally in nominal execution flow.
Modified Paths:
--------------
branches/mango/Mango/Mango/src/mango/module/definition/sym/ParamSym.java
branches/mango/Mango/Mango/src/mango/ruleAction/translate/engine/TranslateValueH.java
branches/mango/Mango/Mango/src/mango/worker/engine/hash/symbolHash/SymbolHashEnterpriseAndTranslation.java
branches/mango/Mango/Mango/src/mango/worker/utilities/Util.java
branches/mango/Mango/Mango/src/mango/worker/workFlow/translate/sym/TranslationSym.java
branches/mango/Mango/mangoUserHome/frank/rules/rulebase.zip
branches/mango/Mango/mangoUserHome/frank/sessions/a.zip
branches/mango/Mango/mangoUserHome/system/System/java/lang/Object_MangoFormal.java
branches/mango/Mango/mangoUserHome/system/System/java/lang/String_MangoFormal.java
branches/mango/Mango/mangoUserHome/system/System/mango/lang/Mango_String.java
Added Paths:
-----------
branches/mango/Mango/Mango/src/mango/ruleAction/translate/engine/TranslateLocation.java
branches/mango/Mango/mangoUserHome/frank/rules/param.zip
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/Class_MangoFormal/
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/Class_MangoFormal/<init>()V/
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/Class_MangoFormal/<init>()V/case.zip
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/Class_MangoFormal/forName(Ljava.lang.String_MangoFormal;)Ljava.lang.Class_MangoFormal;/
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/Class_MangoFormal/forName(Ljava.lang.String_MangoFormal;)Ljava.lang.Class_MangoFormal;/'className' equals null reference.zip
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/Class_MangoFormal/forName(Ljava.lang.String_MangoFormal;)Ljava.lang.Class_MangoFormal;/'className' is defined.zip
branches/mango/Mango/mangoUserHome/system/System/java/lang/Exception_MangoFormal.java
branches/mango/Mango/mangoUserHome/system/System/java/lang/NullPointerException_MangoFormal.java
branches/mango/Mango/mangoUserHome/system/System/java/lang/RuntimeException_MangoFormal.java
branches/mango/Mango/mangoUserHome/system/System/java/lang/Throwable_MangoFormal.java
branches/mango/Mango/mangoUserHome/system/System/mango/lang/Mango_String.append(str1,str2) worksheet.txt
branches/mango/Mango/mangoUserHome/system/System/mango/lang/Mango_String.charAt worksheet.txt
branches/mango/Mango/mangoUserHome/system/System/mango/lang/Mango_String.leftBracket worksheet.txt
branches/mango/Mango/mangoUserHome/system/System/mango/lang/Mango_String.setValueFromStringBuffer worksheet.txt
Removed Paths:
-------------
branches/mango/Mango/mangoUserHome/system/System/mango/lang/Mango_String.charAt worksheet.rtf
branches/mango/Mango/mangoUserHome/system/System/mango/lang/Mango_String.setValueFromStringBuffer worksheet.rtf
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fra...@us...> - 2009-07-10 04:35:27
|
Revision: 1743
http://javapathfinder.svn.sourceforge.net/javapathfinder/?rev=1743&view=rev
Author: frankrimlinger
Date: 2009-07-10 04:35:17 +0000 (Fri, 10 Jul 2009)
Log Message:
-----------
Added stability and composition rules for sting utility rulekeys. Fixed another virtual invocation bug. Stubbed out most of the String_MangoFormal methods, about twenty of them require native abstraction. The new stubs just throw IllegalStateException(), so pay-as-you-go is safer now. Wrote native abstractions for <init>(C) and init([C).
Start with <init>([CII). Use utitility rulekey substring.
CAVEAT EMPTOR: Don't get lulled into thinking <init> knows the type of this. Only newly minted addresses created by the new family know the type. Formal peer builders do this, not you. You really only specify type when punching in a final object by hand, like a String literal.
Modified Paths:
--------------
branches/mango/Mango/Mango/src/mango/core/gui/window/CoreRuleBaseWindowFactory.java
branches/mango/Mango/Mango/src/mango/worker/WorkerControl.java
branches/mango/Mango/javapathfinder-mango-bridge/mango/scanner/Invocation.java
branches/mango/Mango/javapathfinder-mango-bridge/mango/scanner/bytecode/INVOKEVIRTUAL.java
branches/mango/Mango/mangoUserHome/frank/rules/rulebase.zip
branches/mango/Mango/mangoUserHome/system/System/java/lang/String_MangoFormal.java
Added Paths:
-----------
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/Exception_MangoFormal/
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/Exception_MangoFormal/<init>()V/
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/Exception_MangoFormal/<init>()V/case.zip
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/IllegalStateException_MangoFormal/
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/IllegalStateException_MangoFormal/<init>()V/
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/IllegalStateException_MangoFormal/<init>()V/case.zip
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/NullPointerException_MangoFormal/
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/NullPointerException_MangoFormal/<init>()V/
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/NullPointerException_MangoFormal/<init>()V/case.zip
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/RuntimeException_MangoFormal/
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/RuntimeException_MangoFormal/<init>()V/
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/RuntimeException_MangoFormal/<init>()V/case.zip
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/String_MangoFormal/
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/String_MangoFormal/<init>()V/
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/String_MangoFormal/<init>()V/case.zip
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/String_MangoFormal/<init>(C)V/
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/String_MangoFormal/<init>(C)V/case.zip
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/String_MangoFormal/<init>(Ljava.lang.StringBuffer_MangoFormal;)V/
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/String_MangoFormal/<init>(Ljava.lang.StringBuffer_MangoFormal;)V/'buffer' equals null reference.zip
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/String_MangoFormal/<init>(Ljava.lang.StringBuffer_MangoFormal;)V/'buffer' is defined.zip
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/String_MangoFormal/<init>(Ljava.lang.String_MangoFormal;)V/
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/String_MangoFormal/<init>(Ljava.lang.String_MangoFormal;)V/case.zip
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/String_MangoFormal/<init>([C)V/
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/String_MangoFormal/<init>([C)V/case.zip
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/String_MangoFormal/<init>([CII)V/
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/String_MangoFormal/<init>([CII)V/case.zip
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/String_MangoFormal/charAt(I)C/
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/String_MangoFormal/charAt(I)C/'buffer' is defined.zip
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/String_MangoFormal/charAt(I)C/case.zip
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/String_MangoFormal/compareTo(Ljava.lang.String_MangoFormal;)I/
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/String_MangoFormal/compareTo(Ljava.lang.String_MangoFormal;)I/case.zip
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/String_MangoFormal/compareToIgnoreCase(Ljava.lang.String_MangoFormal;)I/
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/String_MangoFormal/compareToIgnoreCase(Ljava.lang.String_MangoFormal;)I/case.zip
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/String_MangoFormal/concat(Ljava.lang.String_MangoFormal;)Ljava.lang.String_MangoFormal;/
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/String_MangoFormal/concat(Ljava.lang.String_MangoFormal;)Ljava.lang.String_MangoFormal;/case.zip
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/String_MangoFormal/endsWith(Ljava.lang.String_MangoFormal;)Z/
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/String_MangoFormal/endsWith(Ljava.lang.String_MangoFormal;)Z/case.zip
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/String_MangoFormal/indexOf(I)I/
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/String_MangoFormal/indexOf(I)I/case.zip
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/String_MangoFormal/length()I/
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/String_MangoFormal/length()I/case.zip
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/String_MangoFormal/startsWith(Ljava.lang.String_MangoFormal;)Z/
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/String_MangoFormal/startsWith(Ljava.lang.String_MangoFormal;)Z/case.zip
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/String_MangoFormal/subSequence(II)Ljava.lang.CharSequence_MangoFormal;/
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/String_MangoFormal/subSequence(II)Ljava.lang.CharSequence_MangoFormal;/case.zip
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/String_MangoFormal/substring(I)Ljava.lang.String_MangoFormal;/
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/String_MangoFormal/substring(I)Ljava.lang.String_MangoFormal;/case.zip
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/String_MangoFormal/substring(II)Ljava.lang.String_MangoFormal;/
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/String_MangoFormal/substring(II)Ljava.lang.String_MangoFormal;/case.zip
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/String_MangoFormal/toCharArray()[C/
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/String_MangoFormal/toCharArray()[C/case.zip
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/String_MangoFormal/toString_MangoFormal()Ljava.lang.String_MangoFormal;/
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/String_MangoFormal/toString_MangoFormal()Ljava.lang.String_MangoFormal;/case.zip
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/String_MangoFormal/toUpperCase()Ljava.lang.String_MangoFormal;/
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/String_MangoFormal/toUpperCase()Ljava.lang.String_MangoFormal;/case.zip
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/String_MangoFormal/trim()Ljava.lang.String_MangoFormal;/
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/String_MangoFormal/trim()Ljava.lang.String_MangoFormal;/case.zip
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/String_MangoFormal/valueOf(C)Ljava.lang.String_MangoFormal;/
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/String_MangoFormal/valueOf(C)Ljava.lang.String_MangoFormal;/case.zip
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/String_MangoFormal/valueOf(D)Ljava.lang.String_MangoFormal;/
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/String_MangoFormal/valueOf(D)Ljava.lang.String_MangoFormal;/case.zip
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/String_MangoFormal/valueOf(F)Ljava.lang.String_MangoFormal;/
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/String_MangoFormal/valueOf(F)Ljava.lang.String_MangoFormal;/case.zip
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/String_MangoFormal/valueOf(I)Ljava.lang.String_MangoFormal;/
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/String_MangoFormal/valueOf(I)Ljava.lang.String_MangoFormal;/case.zip
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/String_MangoFormal/valueOf(J)Ljava.lang.String_MangoFormal;/
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/String_MangoFormal/valueOf(J)Ljava.lang.String_MangoFormal;/case.zip
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/String_MangoFormal/valueOf(Z)Ljava.lang.String_MangoFormal;/
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/String_MangoFormal/valueOf(Z)Ljava.lang.String_MangoFormal;/case.zip
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/Throwable_MangoFormal/
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/Throwable_MangoFormal/<init>()V/
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/Throwable_MangoFormal/<init>()V/case.zip
branches/mango/Mango/mangoUserHome/system/System/java/lang/IllegalStateException_MangoFormal.java
branches/mango/Mango/mangoUserHome/system/System/java/lang/Worksheet for String._MangoFormal<init>(C)V.txt
Removed Paths:
-------------
branches/mango/Mango/mangoUserHome/frank/rules/param.zip
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fra...@us...> - 2009-07-10 20:37:48
|
Revision: 1745
http://javapathfinder.svn.sourceforge.net/javapathfinder/?rev=1745&view=rev
Author: frankrimlinger
Date: 2009-07-10 20:37:43 +0000 (Fri, 10 Jul 2009)
Log Message:
-----------
All targeted String constructors now have native abstractions. Unfortunately, an ancient nightmare has returned. Sometimes class names are in "stripped regular form", java.lang.String, and sometimes in "internal form", Ljava/lang/String; This is causing havoc in trying to relieve hypotheses.
So what is the ideal? Internal form is really bad because it makes a class name look like a path name. Stripped regular form is bad because you can't tell syntactically whether char is a primitive type or really Lchar;. However, you can't make the class Lchar; at the compiler level, so if you assume compiled code then stripped regular is ok.
Need to hunt down all the internal forms and change them to stripped regular.
Modified Paths:
--------------
branches/mango/Mango/Mango/src/mango/worker/Worker.java
branches/mango/Mango/Mango/src/mango/worker/mangoModel/agent/CheckCast_getValueAgent.java
branches/mango/Mango/mangoUserHome/frank/rules/rulebase.zip
branches/mango/Mango/mangoUserHome/frank/sessions/a.zip
branches/mango/Mango/mangoUserHome/system/System/java/lang/String_MangoFormal.java
branches/mango/Mango/mangoUserHome/system/System/mango/cheat_sheet.txt
Added Paths:
-----------
branches/mango/Mango/Mango/src/mango/ruleAction/coreRewriter/string/ExtractStringFromCharArray.java
branches/mango/Mango/mangoUserHome/frank/rules/tier.zip
branches/mango/Mango/mangoUserHome/frank/sessions/baseline/itsAWrap/clear([I)V/loops/-baseline.itsAWrap.clear([I)V#8- dload_i_Code_01/
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
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/ClassCastException_MangoFormal/
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/ClassCastException_MangoFormal/<init>()V/
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/ClassCastException_MangoFormal/<init>()V/case.zip
branches/mango/Mango/mangoUserHome/system/System/java/lang/ClassCastException_MangoFormal.java
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fra...@us...> - 2009-07-11 02:54:59
|
Revision: 1750
http://javapathfinder.svn.sourceforge.net/javapathfinder/?rev=1750&view=rev
Author: frankrimlinger
Date: 2009-07-11 02:54:56 +0000 (Sat, 11 Jul 2009)
Log Message:
-----------
Slash versus dot issue appears to be resolved. Wrote native abstraction for compareTo(String) and used tool to generate abstraction for compareTo(Object) and the four cases of String.equals(). No new bugs. This is very encouraging. The rest of the String class is all native, about fifteen methods to go.
Modified Paths:
--------------
branches/mango/Mango/mangoUserHome/frank/rules/rulebase.zip
branches/mango/Mango/mangoUserHome/frank/rules/tier.zip
Added Paths:
-----------
branches/mango/Mango/Mango/src/mango/ruleAction/coreRewriter/string/CompareToIgnoreCase.java
branches/mango/Mango/mangoUserHome/frank/sessions/java/
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/String_MangoFormal/
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/String_MangoFormal/compareTo(Ljava.lang.Object_MangoFormal;)I/
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/String_MangoFormal/compareTo(Ljava.lang.Object_MangoFormal;)I/'x' is an instance of Class java.lang.String_MangoFormal.zip
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/String_MangoFormal/compareTo(Ljava.lang.Object_MangoFormal;)I/'x' is not an instance of Class java.lang.String_MangoFormal.zip
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/String_MangoFormal/compareToIgnoreCase(Ljava.lang.String_MangoFormal;)I/
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/String_MangoFormal/compareToIgnoreCase(Ljava.lang.String_MangoFormal;)I/case.zip
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/String_MangoFormal/equals(Ljava.lang.Object_MangoFormal;)Z/
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/String_MangoFormal/equals(Ljava.lang.Object_MangoFormal;)Z/'anObject' equals null reference.zip
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/String_MangoFormal/equals(Ljava.lang.Object_MangoFormal;)Z/'anObject' is not an instance of Class java.lang.String_MangoFormal.zip
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/String_MangoFormal/equals(Ljava.lang.Object_MangoFormal;)Z/String objects _'this'.value_ and _'anObject'.value_ are lexicographically equivalent.zip
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/String_MangoFormal/equals(Ljava.lang.Object_MangoFormal;)Z/String objects _'this'.value_ and _'anObject'.value_ are lexicographically inequivalent.zip
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fra...@us...> - 2009-07-11 19:32:26
|
Revision: 1751
http://javapathfinder.svn.sourceforge.net/javapathfinder/?rev=1751&view=rev
Author: frankrimlinger
Date: 2009-07-11 19:32:22 +0000 (Sat, 11 Jul 2009)
Log Message:
-----------
Added more String method native abstractions. This effort moving along nicely now, but don't forget to punch in arroybounds hypotheses for methods that need them.
Modified Paths:
--------------
branches/mango/Mango/META-INF/Mango.product
branches/mango/Mango/Mango/src/mango/worker/Worker.java
branches/mango/Mango/mangoUserHome/frank/rules/rulebase.zip
branches/mango/Mango/mangoUserHome/system/System/mango/cheat_sheet.txt
branches/mango/Mango/plugin.xml
Added Paths:
-----------
branches/mango/Mango/Mango/src/mango/ruleAction/coreRewriter/string/EndsWith.java
branches/mango/Mango/Mango/src/mango/ruleAction/coreRewriter/string/IndexOf.java
branches/mango/Mango/mangoUserHome/frank/rules/concatParam.zip
branches/mango/Mango/mangoUserHome/frank/rules/parameters.zip
branches/mango/Mango/mangoUserHome/frank/rules/substring param.zip
branches/mango/Mango/mangoUserHome/frank/rules/this is defined standing.zip
branches/mango/Mango/mangoUserHome/frank/rules/x is defined.zip
branches/mango/Mango/mangoUserHome/frank/rules/x parameters.zip
Removed Paths:
-------------
branches/mango/Mango/Mango/src/mango/ruleAction/coreRewriter/string/IndexOfChar.java
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fra...@us...> - 2009-07-13 06:07:36
|
Revision: 1755
http://javapathfinder.svn.sourceforge.net/javapathfinder/?rev=1755&view=rev
Author: frankrimlinger
Date: 2009-07-13 06:07:35 +0000 (Mon, 13 Jul 2009)
Log Message:
-----------
Created native abstraction for String_MangoFormal.toCharArray(). This is a little tricky because it involved new semantics for the heap. First, a "smart" reference
( toArray "@#0" '@this '@inputHeap )
which bundles the newly created reference @#0 with the information required to extract its contents, in the event it ever became defined (from the past, of course) and it is ever accessed (in the future).
THe other thing is
(pushH '@genericLocation '@genericItem '@inputHeap )
These generic parameters depend on the smart reference, and represent data that is potentially on the heap that we know something about (where it came from, what its type is.). This has implications for garbage collection that will unfold as they may.
The rest of the native String methods should be EZ.
Modified Paths:
--------------
branches/mango/Mango/mangoUserHome/frank/rules/rulebase.zip
branches/mango/Mango/mangoUserHome/system/System/mango/cheat_sheet.txt
Added Paths:
-----------
branches/mango/Mango/config docs/
branches/mango/Mango/config docs/branding.tiff
branches/mango/Mango/config docs/launching page.tiff
branches/mango/Mango/config docs/splash page.tiff
branches/mango/Mango/mangoUserHome/frank/rules/backupString.zip
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/String_MangoFormal/toString_MangoFormal()Ljava.lang.String_MangoFormal;/
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/String_MangoFormal/toString_MangoFormal()Ljava.lang.String_MangoFormal;/case.zip
branches/mango/Mango/mangoUserHome/system/System/mango/lang/toCharArray Worksheet (Autosaved)
branches/mango/Mango/mangoUserHome/system/System/mango/lang/toCharArray Worksheet.txt
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fra...@us...> - 2009-07-13 21:52:04
|
Revision: 1756
http://javapathfinder.svn.sourceforge.net/javapathfinder/?rev=1756&view=rev
Author: frankrimlinger
Date: 2009-07-13 21:51:58 +0000 (Mon, 13 Jul 2009)
Log Message:
-----------
Only the "valueOf" methods of String_MangoFormal still lack native abstraction. But before doing this, a much more significant issue needs attention. The overhaul of the type system, long overdue, is finally underway. Historically, several competing systems grew up, all represented in the code base in various stages of decay. The goal is a single typing system with flat primitive name space. Several comments are in order.
The type of an object was stored in the rulebase like so
(pushH (refH ref ^Type) stripped-object-syntax heap)
so that the type of a string becomes java.lang.String, as opposed to
Ljava.langString; or java/lang/String or even Ljava/lang/String;
This choice was made long ago, when the what-you-see-is-what-you-should-store idea was very much in vogue.
Give this, what is the type of an integer field x? The choice was "I", as opposed to "int". This was the wrong choice, because now there is no way to distinguish the class named "I" from an integer. So now is the time to fix this problem. For primitive types, we switch to java language level syntax: byte, short, int, etc for B,S,I etc. Fortunately, jpf FieldInfo.getType() is returning java language level anyway, so this is good.
As for the type of an array of integers, it is now
int[]
as opposed to "[I" or "L[I;" because this is what is specified at the java language level. This means that the syntactic test for array type, given a type name, is now endsWith(typeName,"]"), as opposed to startsWith(typeName,"["). This change must be propagated through the rulebase and the code base.
NB: for arrays, FieldInfo.getType() does the right thing, because this traces all the way back to gov.nasa.jpf.jvm.Types.getTypeName(String type), which contains the desired conversion.
if (c == '[') {
return getTypeName(type.substring(1)) + "[]";
}
if (type.charAt(len - 1) == ';') {
return type.substring(1, type.indexOf(';')).replace('/', '.');
}
This is clearly doing what we want. In other words, "type" and "java type" have now converged to the same thing, so the horrible JavaType class has been retired. This functionality is now in the mango.FormalTypes in the javapathfinder-mango-bridge, which extends gov.nasa.jpf.jvm.Types. The FormalTypes class completely rationalizes the computation of type inequivalence by reference to so-called "instance equivalence classes" of types.
Needless to say, the "formal types" like heap, stack, string, and so on, now have names that collide with the java class names in the brave new flattened name space. All of these have been converted to from X to <X>, which is the jvm strategy for avoiding namespace collision.
Consistent with the strategy of flattening the type space, the LogicaKey extension of RuleKey has been abandoned. A RuleKey now represents a type if and only if its typeFlag is set. All of the defX rulekeys in the rulebase have been replaced by the Y or <Y> rulekey counterpart, where the binding from X to Y was determined by the now obsolete buildLogicalKey method.
NB: This discussion only applies to the type as stored in formal heap. Method signatures are *always* stored and displayed in internal formal. A rose by any other name would small as sweet.
It will probably take some time for typing to settle down, but at least now the path is clear and the foundations are firm.
Modified Paths:
--------------
branches/mango/Mango/Mango/src/mango/Resources/IconIndex.java
branches/mango/Mango/Mango/src/mango/core/sym/RuleKey.java
branches/mango/Mango/Mango/src/mango/module/definition/loop/LoopDefinitionManager.java
branches/mango/Mango/Mango/src/mango/module/definition/method/MethodDefinitionManager.java
branches/mango/Mango/Mango/src/mango/module/definition/model/DefinitionManager.java
branches/mango/Mango/Mango/src/mango/module/definition/sym/ParamSym.java
branches/mango/Mango/Mango/src/mango/ruleAction/conditionalTechniques/conditional/Free.java
branches/mango/Mango/Mango/src/mango/ruleAction/conditionalTechniques/type/DefArithmeticValue.java
branches/mango/Mango/Mango/src/mango/ruleAction/conditionalTechniques/type/DefCoefficientValue.java
branches/mango/Mango/Mango/src/mango/ruleAction/conditionalTechniques/type/DefConjunctionValue.java
branches/mango/Mango/Mango/src/mango/ruleAction/conditionalTechniques/type/DefDouble.java
branches/mango/Mango/Mango/src/mango/ruleAction/conditionalTechniques/type/DefEquationValue.java
branches/mango/Mango/Mango/src/mango/ruleAction/conditionalTechniques/type/DefFloat.java
branches/mango/Mango/Mango/src/mango/ruleAction/conditionalTechniques/type/DefGstack.java
branches/mango/Mango/Mango/src/mango/ruleAction/conditionalTechniques/type/DefInequationValue.java
branches/mango/Mango/Mango/src/mango/ruleAction/conditionalTechniques/type/DefInt.java
branches/mango/Mango/Mango/src/mango/ruleAction/conditionalTechniques/type/DefIntegralValue.java
branches/mango/Mango/Mango/src/mango/ruleAction/conditionalTechniques/type/DefLong.java
branches/mango/Mango/Mango/src/mango/ruleAction/conditionalTechniques/type/DefStringValue.java
branches/mango/Mango/Mango/src/mango/ruleAction/conditionalTechniques/type/InheritTypeFromThirdArg.java
branches/mango/Mango/Mango/src/mango/ruleAction/coreRewriter/classModel/GetVirtualRunTimeException.java
branches/mango/Mango/Mango/src/mango/ruleAction/coreRewriter/comparison/InequivalentRef.java
branches/mango/Mango/Mango/src/mango/ruleRequirement/function/FunctionSpaceTypeName.java
branches/mango/Mango/Mango/src/mango/ruleRequirement/linearArithmetic/CoefficientValue.java
branches/mango/Mango/Mango/src/mango/ruleRequirement/typing/ArithmeticValue.java
branches/mango/Mango/Mango/src/mango/worker/engine/hash/DoubleH.java
branches/mango/Mango/Mango/src/mango/worker/engine/hash/FloatH.java
branches/mango/Mango/Mango/src/mango/worker/engine/hash/Hitem.java
branches/mango/Mango/Mango/src/mango/worker/engine/hash/IntegerH.java
branches/mango/Mango/Mango/src/mango/worker/engine/hash/Kons.java
branches/mango/Mango/Mango/src/mango/worker/engine/hash/LongH.java
branches/mango/Mango/Mango/src/mango/worker/engine/hash/Number.java
branches/mango/Mango/Mango/src/mango/worker/engine/hash/csym/Csym.java
branches/mango/Mango/Mango/src/mango/worker/engine/hash/symbolHash/SymbolHashInitialize.java
branches/mango/Mango/Mango/src/mango/worker/engine/hash/symbolHash/SymbolHashLogicAndArithmetic.java
branches/mango/Mango/Mango/src/mango/worker/engine/rule/Rule.java
branches/mango/Mango/Mango/src/mango/worker/engine/rule/RuleAction.java
branches/mango/Mango/Mango/src/mango/worker/engine/sym/Sym.java
branches/mango/Mango/Mango/src/mango/worker/mangoModel/sym/GateSym.java
branches/mango/Mango/Mango/src/mango/worker/mangoModel/sym/graphic/CodeSym.java
branches/mango/Mango/Mango/src/mango/worker/mangoModel/sym/graphic/EdgeSym.java
branches/mango/Mango/Mango/src/mango/worker/mangoModel/sym/graphic/LoopSym.java
branches/mango/Mango/Mango/src/mango/worker/mangoModel/sym/graphic/PathSym.java
branches/mango/Mango/Mango/src/mango/worker/mangoModel/sym/ucon/MethodEntrySym.java
branches/mango/Mango/Mango/src/mango/worker/mangoModel/sym/ucon/UconSym.java
branches/mango/Mango/Mango/src/mango/worker/utilities/Util.java
branches/mango/Mango/Mango/src/mango/worker/workFlow/coreTechniques/sym/ConjunctionSym.java
branches/mango/Mango/Mango/src/mango/worker/workFlow/coreTechniques/sym/EquationSym.java
branches/mango/Mango/Mango/src/mango/worker/workFlow/coreTechniques/sym/FoundationSym.java
branches/mango/Mango/Mango/src/mango/worker/workFlow/coreTechniques/sym/FreeVariableSym.java
branches/mango/Mango/Mango/src/mango/worker/workFlow/coreTechniques/sym/InequationSym.java
branches/mango/Mango/Mango/src/mango/worker/workFlow/form/model/HeapItemModel.java
branches/mango/Mango/Mango/src/mango/worker/workFlow/form/model/HeapModel.java
branches/mango/Mango/Mango/src/mango/worker/workFlow/form/model/LocalVarModel.java
branches/mango/Mango/Mango/src/mango/worker/workFlow/form/sym/binder/executable/LocalVarSym.java
branches/mango/Mango/Mango/src/mango/worker/workFlow/functionSpace/agent/StabilizeParameterAgent.java
branches/mango/Mango/Mango/src/mango/worker/workFlow/functionSpace/sym/FunctionSym.java
branches/mango/Mango/Mango/src/mango/worker/workFlow/functionSpace/sym/ModuleHypothesisSym.java
branches/mango/Mango/Mango/src/mango/worker/workFlow/functionSpace/sym/ModuleInvocationSym.java
branches/mango/Mango/Mango/src/mango/worker/workFlow/model/HitemUtil.java
branches/mango/Mango/Mango/src/mango/worker/workFlow/msg/ShowTypeRequestMsg.java
branches/mango/Mango/javapathfinder-mango-bridge/mango/scanner/MangoMethodPeer.java
branches/mango/Mango/javapathfinder-mango-bridge/mango/scanner/sym/JclassSym.java
branches/mango/Mango/mangoUserHome/frank/rules/rulebase.zip
branches/mango/Mango/mangoUserHome/frank/rules/substring param.zip
branches/mango/Mango/mangoUserHome/system/System/mango/cheat_sheet.txt
Added Paths:
-----------
branches/mango/Mango/Mango/src/mango/ruleAction/conditionalTechniques/type/DefObject.java
branches/mango/Mango/Mango/src/mango/ruleAction/conditionalTechniques/type/DefPredicate.java
branches/mango/Mango/Mango/src/mango/ruleAction/conditionalTechniques/type/DefPredicateTransformer.java
branches/mango/Mango/Mango/src/mango/ruleAction/conditionalTechniques/type/DefState.java
branches/mango/Mango/Mango/src/mango/ruleAction/conditionalTechniques/type/DefUcon.java
branches/mango/Mango/Mango/src/mango/ruleAction/conditionalTechniques/type/TypeAssignmentRule.java
branches/mango/Mango/Mango/src/mango/worker/engine/hash/csym/TypeAssignmentCsym.java
branches/mango/Mango/javapathfinder-mango-bridge/mango/FormalTypes.java
branches/mango/Mango/mangoUserHome/frank/rules/hypothese for bounds.zip
branches/mango/Mango/mangoUserHome/frank/rules/substring hypo.zip
Removed Paths:
-------------
branches/mango/Mango/Mango/src/mango/core/sym/LogicalKey.java
branches/mango/Mango/Mango/src/mango/ruleAction/conditionalTechniques/type/DefAbstractSym.java
branches/mango/Mango/Mango/src/mango/ruleAction/conditionalTechniques/type/DefHP.java
branches/mango/Mango/Mango/src/mango/ruleAction/conditionalTechniques/type/DefP.java
branches/mango/Mango/Mango/src/mango/ruleAction/conditionalTechniques/type/DefPT.java
branches/mango/Mango/Mango/src/mango/ruleAction/conditionalTechniques/type/DefPushHvalue.java
branches/mango/Mango/Mango/src/mango/ruleAction/conditionalTechniques/type/DefS.java
branches/mango/Mango/Mango/src/mango/ruleAction/conditionalTechniques/type/DefU.java
branches/mango/Mango/Mango/src/mango/ruleAction/conditionalTechniques/type/LogicalKeyRule.java
branches/mango/Mango/Mango/src/mango/worker/engine/hash/csym/LogicalKeyCsym.java
branches/mango/Mango/Mango/src/mango/worker/workFlow/model/JavaType.java
branches/mango/Mango/mangoUserHome/frank/rules/backupString.zip
branches/mango/Mango/mangoUserHome/frank/rules/concatParam.zip
branches/mango/Mango/mangoUserHome/frank/rules/parameters.zip
branches/mango/Mango/mangoUserHome/frank/rules/tier.zip
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fra...@us...> - 2009-07-14 04:43:30
|
Revision: 1758
http://javapathfinder.svn.sourceforge.net/javapathfinder/?rev=1758&view=rev
Author: frankrimlinger
Date: 2009-07-14 04:43:27 +0000 (Tue, 14 Jul 2009)
Log Message:
-----------
Type system rehab and cleanup. In FormalTypes class, added partial orderings of types for making positive inferences about implied type. This needs to be hooked up to the typing requirements, replacing the old "satisfies" system, which is obsolete.
Modified Paths:
--------------
branches/mango/Mango/Mango/src/mango/core/util/CoreUtilities.java
branches/mango/Mango/Mango/src/mango/enterprise/sym/ExpLevelSym.java
branches/mango/Mango/Mango/src/mango/module/definition/msg/AddEquivalenceRequestMsg.java
branches/mango/Mango/Mango/src/mango/module/instance/model/InstanceManager.java
branches/mango/Mango/Mango/src/mango/module/instance/msg/SubmitStandingHypothesisMsg.java
branches/mango/Mango/Mango/src/mango/ruleAction/coreRewriter/classModel/BuildAbstractSym.java
branches/mango/Mango/Mango/src/mango/ruleAction/coreRewriter/classModel/BuildAbstractUcon.java
branches/mango/Mango/Mango/src/mango/ruleAction/translate/engine/TranslateType.java
branches/mango/Mango/Mango/src/mango/ruleRequirement/backflow/BlockedUcon.java
branches/mango/Mango/Mango/src/mango/ruleRequirement/leadingKey/NotResolvedAbstractUcon.java
branches/mango/Mango/Mango/src/mango/ruleRequirement/linearArithmetic/CoefficientValue.java
branches/mango/Mango/Mango/src/mango/ruleRequirement/symbols/AbstractSymbolReq.java
branches/mango/Mango/Mango/src/mango/ruleRequirement/symbols/NotAbstractSym.java
branches/mango/Mango/Mango/src/mango/ruleRequirement/symbols/ResolvedAbstractSym.java
branches/mango/Mango/Mango/src/mango/ruleRequirement/typing/ArithmeticFieldType.java
branches/mango/Mango/Mango/src/mango/worker/engine/hash/Hitem.java
branches/mango/Mango/Mango/src/mango/worker/engine/hash/Kons.java
branches/mango/Mango/Mango/src/mango/worker/engine/hash/symbolHash/SymbolHashCoreParser.java
branches/mango/Mango/Mango/src/mango/worker/engine/hash/symbolHash/SymbolHashLogicAndArithmetic.java
branches/mango/Mango/Mango/src/mango/worker/engine/hash/symbolHash/SymbolHashMangoModel.java
branches/mango/Mango/Mango/src/mango/worker/engine/hash/symbolHash/SymbolHashRewriter.java
branches/mango/Mango/Mango/src/mango/worker/engine/rule/AssumeEquivRule.java
branches/mango/Mango/Mango/src/mango/worker/engine/rule/Rule.java
branches/mango/Mango/Mango/src/mango/worker/engine/sym/Sym.java
branches/mango/Mango/Mango/src/mango/worker/workFlow/functionSpace/sym/FunctionSym.java
branches/mango/Mango/Mango/src/mango/worker/workFlow/invariant/agent/InvariantHypoAgent.java
branches/mango/Mango/javapathfinder-mango-bridge/mango/FormalTypes.java
Added Paths:
-----------
branches/mango/Mango/Mango/src/mango/ruleRequirement/typing/InvocationNameReq.java
branches/mango/Mango/Mango/src/mango/worker/engine/sym/InvocationNameSym.java
Removed Paths:
-------------
branches/mango/Mango/Mango/src/mango/ruleRequirement/typing/AbstractSymTypeReq.java
branches/mango/Mango/Mango/src/mango/worker/engine/sym/AbstractSym.java
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fra...@us...> - 2009-07-14 21:20:15
|
Revision: 1759
http://javapathfinder.svn.sourceforge.net/javapathfinder/?rev=1759&view=rev
Author: frankrimlinger
Date: 2009-07-14 21:20:08 +0000 (Tue, 14 Jul 2009)
Log Message:
-----------
Type system rehab is now nearing completion, at least in the code base. There will also be a
lot of work in the rulebase due to rationalization of requirement names.
All type requirements now defer to FormalTypes. Also introduced getTypeDelegate() method for Hitems that want to punt. This is definitely better-faster-cheaper.
ArithmeticLocalVar --> ArithmeticValue
FoundationSym no longer has type formal_predicate.
This is a long-standing hack that needs to be addressed in a saner manner.
Modified Paths:
--------------
branches/mango/Mango/Mango/src/mango/core/sym/RuleKey.java
branches/mango/Mango/Mango/src/mango/enterprise/sym/ExpLevelSym.java
branches/mango/Mango/Mango/src/mango/module/definition/sym/ParamSym.java
branches/mango/Mango/Mango/src/mango/ruleAction/conditionalTechniques/type/InheritTypeFromThirdArg.java
branches/mango/Mango/Mango/src/mango/ruleAction/conditionalTechniques/type/TypeAssignmentRule.java
branches/mango/Mango/Mango/src/mango/ruleAction/coreRewriter/comparison/Equals.java
branches/mango/Mango/Mango/src/mango/ruleAction/coreRewriter/comparison/InequivalentRef.java
branches/mango/Mango/Mango/src/mango/ruleAction/form/binder/PushRefH.java
branches/mango/Mango/Mango/src/mango/ruleAction/translate/engine/BoolRecapture.java
branches/mango/Mango/Mango/src/mango/ruleAction/translate/engine/BoolRecaptureAndNegate.java
branches/mango/Mango/Mango/src/mango/ruleAction/translate/engine/CharRecapture.java
branches/mango/Mango/Mango/src/mango/ruleAction/translate/engine/CharRecaptureAndNegate.java
branches/mango/Mango/Mango/src/mango/ruleAction/translate/engine/TranslateValueH.java
branches/mango/Mango/Mango/src/mango/ruleRequirement/linearArithmetic/CoefficientValue.java
branches/mango/Mango/Mango/src/mango/ruleRequirement/linearArithmetic/ConjunctionValue.java
branches/mango/Mango/Mango/src/mango/ruleRequirement/linearArithmetic/EquationValue.java
branches/mango/Mango/Mango/src/mango/ruleRequirement/typing/ArithmeticValue.java
branches/mango/Mango/Mango/src/mango/worker/Worker.java
branches/mango/Mango/Mango/src/mango/worker/engine/hash/DoubleH.java
branches/mango/Mango/Mango/src/mango/worker/engine/hash/FloatH.java
branches/mango/Mango/Mango/src/mango/worker/engine/hash/Hitem.java
branches/mango/Mango/Mango/src/mango/worker/engine/hash/IntegerH.java
branches/mango/Mango/Mango/src/mango/worker/engine/hash/Kons.java
branches/mango/Mango/Mango/src/mango/worker/engine/hash/LongH.java
branches/mango/Mango/Mango/src/mango/worker/engine/hash/Number.java
branches/mango/Mango/Mango/src/mango/worker/engine/hash/csym/Csym.java
branches/mango/Mango/Mango/src/mango/worker/engine/hash/symbolHash/SymbolHash.java
branches/mango/Mango/Mango/src/mango/worker/engine/hash/symbolHash/SymbolHashInitialize.java
branches/mango/Mango/Mango/src/mango/worker/engine/rule/Rule.java
branches/mango/Mango/Mango/src/mango/worker/engine/sym/InterpretableSym.java
branches/mango/Mango/Mango/src/mango/worker/engine/sym/Sym.java
branches/mango/Mango/Mango/src/mango/worker/mangoModel/sym/GateSym.java
branches/mango/Mango/Mango/src/mango/worker/mangoModel/sym/graphic/CodeSym.java
branches/mango/Mango/Mango/src/mango/worker/mangoModel/sym/graphic/EdgeSym.java
branches/mango/Mango/Mango/src/mango/worker/mangoModel/sym/graphic/LoopSym.java
branches/mango/Mango/Mango/src/mango/worker/mangoModel/sym/graphic/PathSym.java
branches/mango/Mango/Mango/src/mango/worker/mangoModel/sym/ucon/MethodEntrySym.java
branches/mango/Mango/Mango/src/mango/worker/mangoModel/sym/ucon/UconSym.java
branches/mango/Mango/Mango/src/mango/worker/utilities/Util.java
branches/mango/Mango/Mango/src/mango/worker/workFlow/coreTechniques/agent/WithAgent.java
branches/mango/Mango/Mango/src/mango/worker/workFlow/coreTechniques/model/HeapTracer.java
branches/mango/Mango/Mango/src/mango/worker/workFlow/coreTechniques/sym/ConjunctionSym.java
branches/mango/Mango/Mango/src/mango/worker/workFlow/coreTechniques/sym/EquationSym.java
branches/mango/Mango/Mango/src/mango/worker/workFlow/coreTechniques/sym/FoundationSym.java
branches/mango/Mango/Mango/src/mango/worker/workFlow/coreTechniques/sym/InequationSym.java
branches/mango/Mango/Mango/src/mango/worker/workFlow/form/sym/binder/executable/LocalVarSym.java
branches/mango/Mango/Mango/src/mango/worker/workFlow/functionSpace/sym/FunctionSym.java
branches/mango/Mango/Mango/src/mango/worker/workFlow/functionSpace/sym/ModuleHypothesisSym.java
branches/mango/Mango/Mango/src/mango/worker/workFlow/msg/ShowTypeRequestMsg.java
branches/mango/Mango/javapathfinder-mango-bridge/mango/FormalTypes.java
branches/mango/Mango/javapathfinder-mango-bridge/mango/scanner/MangoMethodPeer.java
Removed Paths:
-------------
branches/mango/Mango/Mango/src/mango/ruleRequirement/linearArithmetic/ArithmeticLocalVar.java
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fra...@us...> - 2009-07-15 03:39:52
|
Revision: 1761
http://javapathfinder.svn.sourceforge.net/javapathfinder/?rev=1761&view=rev
Author: frankrimlinger
Date: 2009-07-15 03:39:50 +0000 (Wed, 15 Jul 2009)
Log Message:
-----------
Migration of code base to new typing system complete. Now for the rulebase. This will require hacking into the core factories and punching in the new type names. Also AbstractSym needs to be changed to InvocationNameSym. Also map the following requirements:
InstantiatedHeap --> Instantiated
InstantiatedStack --> Instantiated
InstantiatedStat --> Instantiated
Modified Paths:
--------------
branches/mango/Mango/Mango/src/mango/ruleAction/translate/engine/TranslateHeapObject1.java
branches/mango/Mango/Mango/src/mango/ruleRequirement/linearArithmetic/InequationValue.java
branches/mango/Mango/Mango/src/mango/ruleRequirement/linearArithmetic/LinearVariable.java
branches/mango/Mango/Mango/src/mango/ruleRequirement/linearArithmetic/NotEquationValue.java
branches/mango/Mango/Mango/src/mango/ruleRequirement/naturalLanguage/Instantiated.java
branches/mango/Mango/Mango/src/mango/ruleRequirement/typing/ArithmeticFieldType.java
branches/mango/Mango/Mango/src/mango/ruleRequirement/typing/DoubleReq.java
branches/mango/Mango/Mango/src/mango/ruleRequirement/typing/FloatReq.java
branches/mango/Mango/Mango/src/mango/ruleRequirement/typing/GstackReq.java
branches/mango/Mango/Mango/src/mango/ruleRequirement/typing/HeapPointerReq.java
branches/mango/Mango/Mango/src/mango/ruleRequirement/typing/IntReq.java
branches/mango/Mango/Mango/src/mango/ruleRequirement/typing/IntegralArrayFieldType.java
branches/mango/Mango/Mango/src/mango/ruleRequirement/typing/IntegralFieldType.java
branches/mango/Mango/Mango/src/mango/ruleRequirement/typing/IntegralValue.java
branches/mango/Mango/Mango/src/mango/ruleRequirement/typing/InvocationNameReq.java
branches/mango/Mango/Mango/src/mango/ruleRequirement/typing/JavaButNotJVMtype.java
branches/mango/Mango/Mango/src/mango/ruleRequirement/typing/LongReq.java
branches/mango/Mango/Mango/src/mango/ruleRequirement/typing/PredTransformerReq.java
branches/mango/Mango/Mango/src/mango/ruleRequirement/typing/PredicateReq.java
branches/mango/Mango/Mango/src/mango/ruleRequirement/typing/StateReq.java
branches/mango/Mango/Mango/src/mango/ruleRequirement/typing/StringValue.java
branches/mango/Mango/Mango/src/mango/ruleRequirement/typing/UconReq.java
branches/mango/Mango/Mango/src/mango/worker/Worker.java
branches/mango/Mango/Mango/src/mango/worker/engine/sym/InvocationNameSym.java
branches/mango/Mango/Mango/src/mango/worker/utilities/Util.java
branches/mango/Mango/Mango/src/mango/worker/workFlow/coreTechniques/sym/EquationSym.java
branches/mango/Mango/Mango/src/mango/worker/workFlow/coreTechniques/sym/InequationSym.java
branches/mango/Mango/Mango/src/mango/worker/workFlow/form/model/HeapItemModel.java
branches/mango/Mango/Mango/src/mango/worker/workFlow/form/model/HeapModel.java
branches/mango/Mango/Mango/src/mango/worker/workFlow/form/model/HeapObjectModel.java
branches/mango/Mango/Mango/src/mango/worker/workFlow/form/model/LocalVarModel.java
branches/mango/Mango/Mango/src/mango/worker/workFlow/form/sym/binder/ContextBinderSym.java
branches/mango/Mango/Mango/src/mango/worker/workFlow/functionSpace/sym/ModuleHypothesisSym.java
branches/mango/Mango/Mango/src/mango/worker/workFlow/functionSpace/sym/ModuleInvocationSym.java
branches/mango/Mango/Mango/src/mango/worker/workFlow/invariant/model/InvariantModel.java
branches/mango/Mango/Mango/src/mango/worker/workFlow/msg/ShowTypeRequestMsg.java
branches/mango/Mango/javapathfinder-mango-bridge/mango/FormalTypes.java
branches/mango/Mango/javapathfinder-mango-bridge/mango/scanner/MangoMethodPeer.java
Removed Paths:
-------------
branches/mango/Mango/Mango/src/mango/ruleRequirement/naturalLanguage/InstantiatedHeap.java
branches/mango/Mango/Mango/src/mango/ruleRequirement/naturalLanguage/InstantiatedStack.java
branches/mango/Mango/Mango/src/mango/ruleRequirement/naturalLanguage/InstantiatedStat.java
branches/mango/Mango/Mango/src/mango/ruleRequirement/typing/PushHvalue.java
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fra...@us...> - 2009-07-16 13:17:11
|
Revision: 1763
http://javapathfinder.svn.sourceforge.net/javapathfinder/?rev=1763&view=rev
Author: frankrimlinger
Date: 2009-07-16 13:17:06 +0000 (Thu, 16 Jul 2009)
Log Message:
-----------
Rehab of the rulebase for the new typing system underway. All ports of entry for class names within the SCANNER bytecode classes are being tested, and these names are now all to be resolved at the java source code level. Examples:
NEW: mangoModelTest.multiarray
NEWARRAY: int
ANEWARRAY: mangoModelTest.RefBuster
MULTIANEWARRAY: mangoModelTest.multiarray[][][][]
The issue then becomes, how to unresolve a resolved name, so it becomes suitable input for ClassInfo.getClassInfo()? One might hope that Types.getTypeCode(className, true) would do the trick, but this [[[[null for className= mangoModelTest.multiarray[][][][]. Sadly, getTypeCode expects the input LmangoModelTest.multiarray;[][][][] in order to produce [[[[LmangoModelTest.multiarray; Instead, use FormalTypes.getTypeCode, which inserts the L and ; in the array case before calling super.getTypeCode, (but only if !isBasicType)
All the class name conversion code and code to syntactically detect arrays from array names must be rehabilitated to conform to the new standard. Also, all class names are formally introduced as ClassNameSym objects, which have formal type className. Maintaining discipline with the typing of class names will really help out down the road.
With the rationalization of class names, there is no longer any need for the formal ^Array_Type_Marker subaddress. Instead, the ^className subaddress (changed from ^Type), will just be set up correctly in the first place. Also, the following subaddresses containing information about arrays are renamed as follows:
h.ALength ^Array_Length_Marker -->h.arrayLength ^arrayLength
h.ADimension ^Array_Dimension_Marker --> h.arrayDimension ^arrayDimension
h.ASubLengths ^SubArray_Length_List_Marker --> h.arraySubLengths ^arraySubLengths
The JVM and Module function spaces have been thinned out. Removed functions mostly dealt with cleaning up all the problems with arrays that never will happen now. A rational set of functions can be developed as the system is rebuilt.
Modified Paths:
--------------
branches/mango/Mango/Mango/src/mango/core/CoreSym.java
branches/mango/Mango/Mango/src/mango/core/RuleResourceManager.java
branches/mango/Mango/Mango/src/mango/ruleAction/coreRewriter/classModel/ClassPtrAsString.java
branches/mango/Mango/Mango/src/mango/ruleAction/coreRewriter/classModel/GetComponentType.java
branches/mango/Mango/Mango/src/mango/ruleAction/coreRewriter/classModel/IsArrayClassPtr.java
branches/mango/Mango/Mango/src/mango/ruleAction/coreRewriter/classModel/MakeClassPtr.java
branches/mango/Mango/Mango/src/mango/ruleAction/coreRewriter/classModel/RemoveBracket.java
branches/mango/Mango/Mango/src/mango/ruleAction/form/binder/PushRefH.java
branches/mango/Mango/Mango/src/mango/ruleAction/translate/engine/TranslateValueH.java
branches/mango/Mango/Mango/src/mango/ruleRequirement/typing/IntegralArrayFieldType.java
branches/mango/Mango/Mango/src/mango/worker/Worker.java
branches/mango/Mango/Mango/src/mango/worker/engine/hash/symbolHash/SymbolHashCoreParser.java
branches/mango/Mango/Mango/src/mango/worker/engine/hash/symbolHash/SymbolHashEnterpriseAndTranslation.java
branches/mango/Mango/Mango/src/mango/worker/engine/hash/symbolHash/SymbolHashLogicAndArithmetic.java
branches/mango/Mango/Mango/src/mango/worker/engine/hash/symbolHash/SymbolHashOpcodeSyms.java
branches/mango/Mango/Mango/src/mango/worker/workFlow/coreTechniques/model/HeapPointer.java
branches/mango/Mango/Mango/src/mango/worker/workFlow/coreTechniques/model/HeapTracer.java
branches/mango/Mango/Mango/src/mango/worker/workFlow/form/model/HeapObjectModel.java
branches/mango/Mango/javapathfinder-mango-bridge/mango/FormalTypes.java
branches/mango/Mango/javapathfinder-mango-bridge/mango/scanner/MangoInstruction.java
branches/mango/Mango/javapathfinder-mango-bridge/mango/scanner/MangoInvokeInstruction.java
branches/mango/Mango/javapathfinder-mango-bridge/mango/scanner/MangoMethodPeer.java
branches/mango/Mango/javapathfinder-mango-bridge/mango/scanner/bytecode/ANEWARRAY.java
branches/mango/Mango/javapathfinder-mango-bridge/mango/scanner/bytecode/MULTIANEWARRAY.java
branches/mango/Mango/javapathfinder-mango-bridge/mango/scanner/bytecode/NEW.java
branches/mango/Mango/javapathfinder-mango-bridge/mango/scanner/bytecode/NEWARRAY.java
branches/mango/Mango/mangoUserHome/frank/rules/rulebase.zip
branches/mango/Mango/mangoUserHome/system/System/java/lang/Object_MangoFormal.java
branches/mango/Mango/mangoUserHome/system/System/mango/lang/Mango_Object.java
Added Paths:
-----------
branches/mango/Mango/Mango/src/mango/ruleRequirement/symbols/ClassNameType.java
branches/mango/Mango/Mango/src/mango/worker/engine/hash/symbolHash/SymbolHashTyping.java
branches/mango/Mango/Mango/src/mango/worker/engine/sym/ClassNameSym.java
branches/mango/Mango/javapathfinder-mango-bridge/mangoModelTest/
branches/mango/Mango/javapathfinder-mango-bridge/mangoModelTest/multiarray.java
branches/mango/Mango/mangoUserHome/system/System/mango/lang/Mango_String.arraySyntax worksheet.txt
Removed Paths:
-------------
branches/mango/Mango/Mango/src/mango/ruleAction/coreRewriter/string/StripObjectSyntax.java
branches/mango/Mango/Mango/src/mango/ruleRequirement/symbols/ClassPtrType.java
branches/mango/Mango/Mango/src/mango/worker/engine/sym/ClassPtrSym.java
branches/mango/Mango/mangoUserHome/system/System/mango/lang/Mango_String.leftBracket worksheet.txt
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fra...@us...> - 2009-07-16 17:37:36
|
Revision: 1764
http://javapathfinder.svn.sourceforge.net/javapathfinder/?rev=1764&view=rev
Author: frankrimlinger
Date: 2009-07-16 17:37:29 +0000 (Thu, 16 Jul 2009)
Log Message:
-----------
More array rehab. It is not necessary to create intermediate subarray objects just so they can be retrieved. The retrieval mechanism has all the information necessary to manufacture such objects as required. So "pushRefH" has been retired. This impacts
AALOAD
AASTORE
ARRAYLENGTH
The new scheme also impacts valueH semantics, and works like so. Suppose X is a class and we create x=new X[][][] and then access x[1][2][3]. This should be the default value null. First, multinewarray updates the heap:
H1 = (pusH (refH 'nH ^className ) "X[][][]" 'H)
There is also info about sublengths which we suppress. Now we have aaload 1, which updates the opstack like so
(push (valueH (refH 'nH 1) H1) opStack )
The point is that valueH can inspect H1, discover that 'nH is a multiarray and that x[1] is not initialized, so it can just manufacture the object (array 'nH 1), so the opstack rewrites to
(push (array 'nH 1) opStack)
Now we have aaload 2, so
(push (valueH (refH (array 'nH 1) 2) H1) opStack)
Once again, valueH can dig down to 'nH, inspect H1, so we get
(push (array 'nH 1 2) opStack)
because we have the normalization (array (array obj i_1 ... i_n) i_n+1) = (array obj i_1 ... i_n+1)
Finally aaload 3 gives
(push (valueH (refH (array 'nH 1 2) 3) H1) opStack)
but this time, valueH realizes that H1 is three dimensional, and so (array 'nH 1 2 3) is uninitialized, hence we punch in the default to get
(push ^null opStack) as desired.
Observe that by putting more smarts in valueH, we make the formal semantics much more uniform, which helps out both the rewriter and ACL2 theorem prover. Any entry in a multi-array gets a canonical home if it wants it.
NB: the old "ptr" rulekey is now the more descriptive "array". The old usage for "array" is obsolete and has already been retired. valueH will get its smarts when we hit the multiarray class in mangoModelTest. For now, we just rehab the formal semantics of the affected instructions.
Modified Paths:
--------------
branches/mango/Mango/Mango/src/mango/ruleAction/coreRewriter/classModel/Checkcast.java
branches/mango/Mango/Mango/src/mango/ruleAction/coreRewriter/classModel/Instanceof.java
branches/mango/Mango/Mango/src/mango/ruleAction/coreRewriter/comparison/InequivalentPtr.java
branches/mango/Mango/Mango/src/mango/worker/engine/hash/symbolHash/SymbolHashEngine.java
branches/mango/Mango/Mango/src/mango/worker/engine/hash/symbolHash/SymbolHashMangoModel.java
branches/mango/Mango/Mango/src/mango/worker/engine/hash/symbolHash/SymbolHashOpcodeSyms.java
branches/mango/Mango/Mango/src/mango/worker/engine/hash/symbolHash/SymbolHashRewriter.java
branches/mango/Mango/Mango/src/mango/worker/mangoModel/agent/CheckCast_getValueAgent.java
branches/mango/Mango/Mango/src/mango/worker/mangoModel/agent/InstanceOfAgent.java
branches/mango/Mango/Mango/src/mango/worker/workFlow/form/model/HeapModel.java
branches/mango/Mango/Mango/src/mango/worker/workFlow/form/model/HeapObjectModel.java
branches/mango/Mango/Mango/src/mango/worker/workFlow/form/sym/binder/executable/HeapSym.java
branches/mango/Mango/Mango/src/mango/worker/workFlow/translate/model/TranslationManager.java
branches/mango/Mango/Mango/src/mango/worker/workFlow/translate/sym/TranslationSym.java
branches/mango/Mango/javapathfinder-mango-bridge/mango/scanner/Invocation.java
branches/mango/Mango/javapathfinder-mango-bridge/mango/scanner/bytecode/AALOAD.java
branches/mango/Mango/javapathfinder-mango-bridge/mango/scanner/bytecode/AASTORE.java
branches/mango/Mango/javapathfinder-mango-bridge/mango/scanner/bytecode/ANEWARRAY.java
branches/mango/Mango/javapathfinder-mango-bridge/mango/scanner/bytecode/ARRAYLENGTH.java
branches/mango/Mango/javapathfinder-mango-bridge/mango/scanner/bytecode/ATHROWCREATOR.java
branches/mango/Mango/javapathfinder-mango-bridge/mango/scanner/bytecode/BALOAD.java
branches/mango/Mango/javapathfinder-mango-bridge/mango/scanner/bytecode/BASTORE.java
branches/mango/Mango/javapathfinder-mango-bridge/mango/scanner/bytecode/CALOAD.java
branches/mango/Mango/javapathfinder-mango-bridge/mango/scanner/bytecode/CASTORE.java
branches/mango/Mango/javapathfinder-mango-bridge/mango/scanner/bytecode/DALOAD.java
branches/mango/Mango/javapathfinder-mango-bridge/mango/scanner/bytecode/DASTORE.java
branches/mango/Mango/javapathfinder-mango-bridge/mango/scanner/bytecode/FALOAD.java
branches/mango/Mango/javapathfinder-mango-bridge/mango/scanner/bytecode/FASTORE.java
branches/mango/Mango/javapathfinder-mango-bridge/mango/scanner/bytecode/IALOAD.java
branches/mango/Mango/javapathfinder-mango-bridge/mango/scanner/bytecode/IASTORE.java
branches/mango/Mango/javapathfinder-mango-bridge/mango/scanner/bytecode/LALOAD.java
branches/mango/Mango/javapathfinder-mango-bridge/mango/scanner/bytecode/LASTORE.java
branches/mango/Mango/javapathfinder-mango-bridge/mango/scanner/bytecode/LDC.java
branches/mango/Mango/javapathfinder-mango-bridge/mango/scanner/bytecode/LDC_W.java
branches/mango/Mango/javapathfinder-mango-bridge/mango/scanner/bytecode/MULTIANEWARRAY.java
branches/mango/Mango/javapathfinder-mango-bridge/mango/scanner/bytecode/NEW.java
branches/mango/Mango/javapathfinder-mango-bridge/mango/scanner/bytecode/NEWARRAY.java
branches/mango/Mango/javapathfinder-mango-bridge/mango/scanner/bytecode/SALOAD.java
branches/mango/Mango/javapathfinder-mango-bridge/mango/scanner/bytecode/SASTORE.java
branches/mango/Mango/javapathfinder-mango-bridge/mango/scanner/sym/JclassSym.java
Removed Paths:
-------------
branches/mango/Mango/Mango/src/mango/ruleAction/form/binder/PushRefH.java
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fra...@us...> - 2009-07-16 21:08:50
|
Revision: 1765
http://javapathfinder.svn.sourceforge.net/javapathfinder/?rev=1765&view=rev
Author: frankrimlinger
Date: 2009-07-16 21:08:34 +0000 (Thu, 16 Jul 2009)
Log Message:
-----------
Array rehab in progress, which in turn is a part the typing rehab in progress, per revs 1763 and 1764.
Discovered that FieldInfo.getType() returns "canonical type", which does not translate array names to java level syntax. As a workaround, introduced FormalTypes.getFieldType(FieldInfo). Routed GETFIELD, GETSTATIC, and PUTFIELD through this method, so they shoud be ok.
HeapModel.generateDefault now returns null in the array-of-arrays case. It is up to the caller, HeapModel.getValue_oldStyle() to detect and act accordingly. Punting on this for now by throwing IllegalStateException. When this gets triggered by an example I will write the code to generate the required (array ...) object.
Deleted the actions
ClassPtrAsString
GetComponentType
isArrayClassptr
MakeClassPtr
RemoveBracket
Start by updating the broken instructions to conform to the new array semantics. Then you need to test all instructions to see if they properly resolve class names to the java level. Then the class names need to be formally realized as ClassNameSym, NOT Other or String.
Modified Paths:
--------------
branches/mango/Mango/Mango/src/mango/worker/Worker.java
branches/mango/Mango/Mango/src/mango/worker/engine/hash/symbolHash/SymbolHashEngine.java
branches/mango/Mango/Mango/src/mango/worker/workFlow/form/model/HeapModel.java
branches/mango/Mango/Mango/src/mango/worker/workFlow/translate/model/TranslationManager.java
branches/mango/Mango/Mango/src/mango/worker/workFlow/translate/sym/TranslationSym.java
branches/mango/Mango/javapathfinder-mango-bridge/mango/FormalTypes.java
branches/mango/Mango/javapathfinder-mango-bridge/mango/scanner/bytecode/GETFIELD.java
branches/mango/Mango/javapathfinder-mango-bridge/mango/scanner/bytecode/GETSTATIC.java
branches/mango/Mango/javapathfinder-mango-bridge/mango/scanner/bytecode/PUTFIELD.java
branches/mango/Mango/javapathfinder-mango-bridge/mango/scanner/sym/JclassSym.java
Removed Paths:
-------------
branches/mango/Mango/Mango/src/mango/ruleAction/coreRewriter/classModel/ClassPtrAsString.java
branches/mango/Mango/Mango/src/mango/ruleAction/coreRewriter/classModel/GetComponentType.java
branches/mango/Mango/Mango/src/mango/ruleAction/coreRewriter/classModel/IsArrayClassPtr.java
branches/mango/Mango/Mango/src/mango/ruleAction/coreRewriter/classModel/MakeClassPtr.java
branches/mango/Mango/Mango/src/mango/ruleAction/coreRewriter/classModel/RemoveBracket.java
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fra...@us...> - 2009-07-17 04:39:34
|
Revision: 1766
http://javapathfinder.svn.sourceforge.net/javapathfinder/?rev=1766&view=rev
Author: frankrimlinger
Date: 2009-07-17 04:39:24 +0000 (Fri, 17 Jul 2009)
Log Message:
-----------
The "fourth error condition" for AALOAD, involving the rulekey heapThrewException, was unnecessary and probably wrong. This error condition, the rulekey, and the corresponding rules have been eliminated.
We now come to an interesting semantic question: what should be the formal type of
(valueH (refH ref ^className ) heap)
First it is important to understand that this is not the question: how shall concrete representations of this expression be realized in the code base? The answer to the second question is: use ClassNameSym. So, the first question now becomes, what is the formal type of ClassNameSym. I had carelessly decided to introduce the new formal type <className>, but this just leads to trouble. To see why, consider
(valueH (refH array-of-arrays index) heap)
Clearly this has formal type <object>. This device allows us to formally manufacture sub-arrays as their name. Similarly, we should be able to formally manufacture Class_MangoFormal objects as their name, so, for example, the native implementation of Object_MangoFormal.getClass() just pushes
(valueH (refH '@this ^className) '@inputHeap )) onto the caller frame. This avoids meaningless conversion back and forth between <object> and <className>.
Finally, we introduce the RuleKeys makeClass and makeComponentClass and rules
(makeClass sym) ---> ClassNameSym with same name as sym
(makeComponentClass sym) --> ClassNameSym with name x, where x[] is the name of sym.
With this new conceptualization, the old RuleKeys
getComponentType
makeClassPtr
are retired.
We also retire the synthetic field _fully_qualified_class_name in Class_MangoFormal. This will require reimplementing the native abstractions for this class.
Modified Paths:
--------------
branches/mango/Mango/Mango/src/mango/ruleRequirement/naturalLanguage/Automatic.java
branches/mango/Mango/Mango/src/mango/ruleRequirement/naturalLanguage/Instantiated.java
branches/mango/Mango/Mango/src/mango/worker/Worker.java
branches/mango/Mango/Mango/src/mango/worker/engine/hash/symbolHash/SymbolHashCoreParser.java
branches/mango/Mango/Mango/src/mango/worker/engine/hash/symbolHash/SymbolHashMangoModel.java
branches/mango/Mango/Mango/src/mango/worker/engine/hash/symbolHash/SymbolHashRewriter.java
branches/mango/Mango/Mango/src/mango/worker/engine/hash/symbolHash/SymbolHashTyping.java
branches/mango/Mango/Mango/src/mango/worker/engine/sym/InterpretableSym.java
branches/mango/Mango/Mango/src/mango/worker/workFlow/coreTechniques/model/HeapPointer.java
branches/mango/Mango/Mango/src/mango/worker/workFlow/functionSpace/sym/FunctionSym.java
branches/mango/Mango/javapathfinder-mango-bridge/mango/FormalTypes.java
branches/mango/Mango/javapathfinder-mango-bridge/mango/scanner/bytecode/AALOAD.java
branches/mango/Mango/javapathfinder-mango-bridge/mango/scanner/bytecode/AASTORE.java
branches/mango/Mango/javapathfinder-mango-bridge/mango/scanner/bytecode/ACATCHHANDLER.java
branches/mango/Mango/mangoUserHome/frank/rules/rulebase.zip
branches/mango/Mango/mangoUserHome/system/System/java/lang/Class_MangoFormal.java
Added Paths:
-----------
branches/mango/Mango/Mango/src/mango/ruleAction/form/binder/MakeArray.java
Removed Paths:
-------------
branches/mango/Mango/Mango/src/mango/ruleAction/form/binder/MakePtr.java
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fra...@us...> - 2009-07-22 04:08:50
|
Revision: 1767
http://javapathfinder.svn.sourceforge.net/javapathfinder/?rev=1767&view=rev
Author: frankrimlinger
Date: 2009-07-22 04:08:47 +0000 (Wed, 22 Jul 2009)
Log Message:
-----------
Cleaned up code involving detection of instantiated and automatic expressions. The point of view now is that an expression is instantiated if it contains no free state variable, and automatic if it is instantiated and contains no ModuleInvocationSym. This will probably be tweaked during testing, but it is good to start out with something that is at least conceptual.
Updated ANEWARRAY, NEW, NEWARRAY, and MULTIANEWARRAY to push the class name on the heap as a ClassNameSym, as opposed to the component name, in the case of arrays, as an Other.
Updated AASTORE to fetch the class name from the heap and then convert to the component name, which is used in turn to check assignment compatibility. Per 1766, the operation is accomplished with the makeComponentClass rulekey, with corresponding rule just stripping the ultimate "[]" from concrete arguments.
Removed the pushRefH from AASTORE and ARRAYLENGTH. pushRefH is now totally removed from the code base.
Next TODO: rewrite native abstraction of Object_MangoFormal.getClass() to return the ClassNameSym whose name is the name of the desired class. This is consistent with Rev 1766, in that ClassNameSym now has type <object>. But the suggestion in Rev 1766 to return (valueH (refH '@this ^className) '@inputHeap )) is incorrect, since this expression is non-canonical and unlikely to evaluate to the canonical ClassNameSym. So its best to just grab the bull by the horns and return the ClassNameSym in the first place.
Revision Links:
--------------
http://javapathfinder.svn.sourceforge.net/javapathfinder/?rev=1766&view=rev
http://javapathfinder.svn.sourceforge.net/javapathfinder/?rev=1766&view=rev
Modified Paths:
--------------
branches/mango/Mango/Mango/src/mango/module/definition/sym/ParamSym.java
branches/mango/Mango/Mango/src/mango/ruleRequirement/naturalLanguage/Automatic.java
branches/mango/Mango/Mango/src/mango/ruleRequirement/naturalLanguage/AutomaticLocalVar.java
branches/mango/Mango/Mango/src/mango/ruleRequirement/naturalLanguage/AutomaticThis.java
branches/mango/Mango/Mango/src/mango/ruleRequirement/naturalLanguage/Instantiated.java
branches/mango/Mango/Mango/src/mango/ruleRequirement/naturalLanguage/InstantiatedLocalVar.java
branches/mango/Mango/Mango/src/mango/ruleRequirement/naturalLanguage/InstantiatedOpVar.java
branches/mango/Mango/Mango/src/mango/ruleRequirement/naturalLanguage/InstantiatedThis.java
branches/mango/Mango/Mango/src/mango/worker/workFlow/model/HitemUtil.java
branches/mango/Mango/Mango/src/mango/worker/workFlow/msg/ShowTypeRequestMsg.java
branches/mango/Mango/javapathfinder-mango-bridge/mango/scanner/bytecode/AASTORE.java
branches/mango/Mango/javapathfinder-mango-bridge/mango/scanner/bytecode/ANEWARRAY.java
branches/mango/Mango/javapathfinder-mango-bridge/mango/scanner/bytecode/ARRAYLENGTH.java
branches/mango/Mango/javapathfinder-mango-bridge/mango/scanner/bytecode/MULTIANEWARRAY.java
branches/mango/Mango/javapathfinder-mango-bridge/mango/scanner/bytecode/NEW.java
branches/mango/Mango/javapathfinder-mango-bridge/mango/scanner/bytecode/NEWARRAY.java
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fra...@us...> - 2009-07-22 21:43:23
|
Revision: 1769
http://javapathfinder.svn.sourceforge.net/javapathfinder/?rev=1769&view=rev
Author: frankrimlinger
Date: 2009-07-22 21:43:16 +0000 (Wed, 22 Jul 2009)
Log Message:
-----------
Update of native implementation for Mango_Class.forName(String_MangoFormal). Per rev 1767, we no longer push anything onto the heap. We just return (makeClass <underlying_string> ), where underlying_string is the internal representation of the passed argument.
TODO Here is the big trick: we add the rule
(valueH (refH (makeClass string) ^className) heap)
--> (makeClass string)
This is consistent with rev 1766, in that the class object IS its name. There are tremendous advantages to this approach, in that we don't have to manufacture a different heap reference, or worry about whether it is canonical or how it should be garbage collected.
Updated methods of Mango_Class and Class_MangoFormal to work directly with the formal object.
Hacked into rulebase to put brackets around formal type rulekeys in all expressions, so string --> <string> etc. These brackets are necessary to prevent namespace collision with default package classes. Since to date there are no such collisions, (we hope), the fix should work.
Updated GetVirtualRunTimeMethod and GetInterfaceRunTimeMethod to return an InvocationNameSym (or ^null) instead of an Other.
TODO With this in place, the methodCallAssumption no longer needs to do a conversion, and the buildAbstractSym rulekey and support must be teased out of the code base and the rulebase. There is an issue with "ResolvedAbstractSym" requirement which now becomes "ResovedInvocationNameSym".
TODO Rewrite the rest of the native abstractions for Class_MangoFormal and Mango_Class. This should be EZ.
Revision Links:
--------------
http://javapathfinder.svn.sourceforge.net/javapathfinder/?rev=1767&view=rev
http://javapathfinder.svn.sourceforge.net/javapathfinder/?rev=1766&view=rev
Modified Paths:
--------------
branches/mango/Mango/Mango/src/mango/core/CoreKons.java
branches/mango/Mango/Mango/src/mango/core/CoreRule.java
branches/mango/Mango/Mango/src/mango/core/CoreSym.java
branches/mango/Mango/Mango/src/mango/ruleAction/coreRewriter/classModel/GetInterfaceRunTimeMethod.java
branches/mango/Mango/Mango/src/mango/ruleAction/coreRewriter/classModel/GetVirtualRunTimeMethod.java
branches/mango/Mango/Mango/src/mango/worker/engine/hash/Kons.java
branches/mango/Mango/Mango/src/mango/worker/engine/hash/symbolHash/SymbolHashInitialize.java
branches/mango/Mango/Mango/src/mango/worker/engine/hash/symbolHash/SymbolHashMangoModel.java
branches/mango/Mango/Mango/src/mango/worker/engine/hash/symbolHash/SymbolHashRewriter.java
branches/mango/Mango/Mango/src/mango/worker/engine/hash/symbolHash/SymbolHashTyping.java
branches/mango/Mango/Mango/src/mango/worker/engine/rule/Rule.java
branches/mango/Mango/Mango/src/mango/worker/flags/RuleDebuggingFlags.java
branches/mango/Mango/Mango/src/mango/worker/mangoModel/sym/ucon/AbstractUconSym.java
branches/mango/Mango/Mango/src/mango/worker/msg/RulebaseMsg.java
branches/mango/Mango/Mango/src/mango/worker/workFlow/form/model/HeapModel.java
branches/mango/Mango/Mango/src/mango/worker/workFlow/msg/DeleteCoreMangoObjectMsg.java
branches/mango/Mango/javapathfinder-mango-bridge/mango/FormalTypes.java
branches/mango/Mango/javapathfinder-mango-bridge/mango/scanner/bytecode/AALOAD.java
branches/mango/Mango/javapathfinder-mango-bridge/mango/scanner/bytecode/ANEWARRAY.java
branches/mango/Mango/javapathfinder-mango-bridge/mango/scanner/bytecode/MULTIANEWARRAY.java
branches/mango/Mango/javapathfinder-mango-bridge/mango/scanner/bytecode/NEW.java
branches/mango/Mango/javapathfinder-mango-bridge/mango/scanner/bytecode/NEWARRAY.java
branches/mango/Mango/mangoUserHome/frank/rules/rulebase.zip
branches/mango/Mango/mangoUserHome/system/System/java/lang/Class_MangoFormal.java
branches/mango/Mango/mangoUserHome/system/System/mango/cheat_sheet.txt
branches/mango/Mango/mangoUserHome/system/System/mango/lang/Mango_Class.java
Added Paths:
-----------
branches/mango/Mango/Mango/src/mango/ruleAction/coreRewriter/classModel/MakeClass.java
branches/mango/Mango/Mango/src/mango/ruleAction/coreRewriter/string/MakeStr.java
branches/mango/Mango/Mango/src/mango/ruleRequirement/symbols/InvocationNameSymReq.java
branches/mango/Mango/Mango/src/mango/ruleRequirement/symbols/ResolvedInvocationNameSym.java
branches/mango/Mango/mangoUserHome/system/System/mango/lang/Mango_Class.forName worksheet.txt
Removed Paths:
-------------
branches/mango/Mango/Mango/src/mango/ruleAction/coreRewriter/classModel/BuildAbstractSym.java
branches/mango/Mango/Mango/src/mango/ruleAction/coreRewriter/predShortcuts/MakeStr.java
branches/mango/Mango/Mango/src/mango/ruleRequirement/symbols/AbstractSymbolReq.java
branches/mango/Mango/Mango/src/mango/ruleRequirement/symbols/ResolvedAbstractSym.java
branches/mango/Mango/mangoUserHome/frank/rules/hypothese for bounds.zip
branches/mango/Mango/mangoUserHome/frank/rules/substring hypo.zip
branches/mango/Mango/mangoUserHome/frank/rules/substring param.zip
branches/mango/Mango/mangoUserHome/frank/rules/this is defined standing.zip
branches/mango/Mango/mangoUserHome/frank/rules/x is defined.zip
branches/mango/Mango/mangoUserHome/frank/rules/x parameters.zip
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fra...@us...> - 2009-07-23 23:11:53
|
Revision: 1773
http://javapathfinder.svn.sourceforge.net/javapathfinder/?rev=1773&view=rev
Author: frankrimlinger
Date: 2009-07-23 23:11:46 +0000 (Thu, 23 Jul 2009)
Log Message:
-----------
Rulebase type assignment and translation cleanup. Added check for missing actions and requirements in Rule constructor. Cleaned up all detected problems.
The use of the word "abstraction" came to mean both "invocation" and "specification". Within the rulebase, "abstraction" meant exclusively "invocation", so all such references have been changed to invocation, with corresponding changes in the code base. Mapping:
RuleKey
buildAbstractUcon --> buildInvocatonUcon
abstractUcon --> invocationUcon
abstractUconInvocation --> invocationUconInvoked
buildAbstractUconDummy --> buildInvocationUconDummy
Requirement
NotResolvedAbstractUcon --> NotResovedInvocationUcon
NotAbstractSym --> NotInvocationNameSym
Action
BuildAbstractUcon --> BuildInvocatonUcon
BuildAbstractUconDummy --> BuildInvocationUconDummy
literal
"AbstractUconMethod()V" --> "InvocationUconMethod"
Class
AbstractUconSym --> InvocationUconSym
AbstractUconPlace --> InvocationUconPlace
AbstractUconMethod --> InvocationUconMethod
With all this in place, ready to rewrite the rest of the native abstractions for Class_MangoFormal and Mango_Class.
Modified Paths:
--------------
branches/mango/Mango/Mango/src/mango/Resources/IconIndex.java
branches/mango/Mango/Mango/src/mango/core/CoreMangoActiveObject.java
branches/mango/Mango/Mango/src/mango/core/CoreMangoObject.java
branches/mango/Mango/Mango/src/mango/core/CoreRule.java
branches/mango/Mango/Mango/src/mango/core/CoreVariable.java
branches/mango/Mango/Mango/src/mango/core/RuleResourceManager.java
branches/mango/Mango/Mango/src/mango/core/gui/tablemodel/CoreVariableTableModel.java
branches/mango/Mango/Mango/src/mango/merge/window/FindPatternWindow.java
branches/mango/Mango/Mango/src/mango/module/definition/msg/AddEquivalenceRequestMsg.java
branches/mango/Mango/Mango/src/mango/ruleRequirement/backflow/BlockedUcon.java
branches/mango/Mango/Mango/src/mango/ruleRequirement/binder/LocalVar.java
branches/mango/Mango/Mango/src/mango/ruleRequirement/typing/ArithmeticValue.java
branches/mango/Mango/Mango/src/mango/util/LOG.java
branches/mango/Mango/Mango/src/mango/worker/Worker.java
branches/mango/Mango/Mango/src/mango/worker/engine/hash/symbolHash/SymbolHashInitialize.java
branches/mango/Mango/Mango/src/mango/worker/engine/hash/symbolHash/SymbolHashMangoModel.java
branches/mango/Mango/Mango/src/mango/worker/engine/rule/ActiveObject.java
branches/mango/Mango/Mango/src/mango/worker/engine/rule/Req.java
branches/mango/Mango/Mango/src/mango/worker/engine/rule/Rule.java
branches/mango/Mango/Mango/src/mango/worker/mangoModel/BackupAlg.java
branches/mango/Mango/Mango/src/mango/worker/mangoModel/vertex/CpnVertex.java
branches/mango/Mango/Mango/src/mango/worker/mangoModel/vertex/SuperCpnVertex.java
branches/mango/Mango/Mango/src/mango/worker/workFlow/form/sym/binder/ContextBinderSym.java
branches/mango/Mango/javapathfinder-mango-bridge/mango/FormalTypes.java
branches/mango/Mango/javapathfinder-mango-bridge/mango/scanner/Invocation.java
branches/mango/Mango/javapathfinder-mango-bridge/mango/scanner/bytecode/INVOKECLINIT.java
branches/mango/Mango/mangoUserHome/frank/rules/rulebase.zip
Added Paths:
-----------
branches/mango/Mango/Mango/src/mango/ruleAction/coreRewriter/classModel/BuildInvocationUconDummy.java
branches/mango/Mango/Mango/src/mango/ruleAction/coreRewriter/classModel/BuildInvocatonUcon.java
branches/mango/Mango/Mango/src/mango/ruleAction/translate/engine/TranslateClassNamePred.java
branches/mango/Mango/Mango/src/mango/ruleAction/typeAssignment/
branches/mango/Mango/Mango/src/mango/ruleAction/typeAssignment/Assign_double.java
branches/mango/Mango/Mango/src/mango/ruleAction/typeAssignment/Assign_float.java
branches/mango/Mango/Mango/src/mango/ruleAction/typeAssignment/Assign_formal_arithmeticValue.java
branches/mango/Mango/Mango/src/mango/ruleAction/typeAssignment/Assign_formal_coefficientValue.java
branches/mango/Mango/Mango/src/mango/ruleAction/typeAssignment/Assign_formal_conjunctionValue.java
branches/mango/Mango/Mango/src/mango/ruleAction/typeAssignment/Assign_formal_equationValue.java
branches/mango/Mango/Mango/src/mango/ruleAction/typeAssignment/Assign_formal_gstack.java
branches/mango/Mango/Mango/src/mango/ruleAction/typeAssignment/Assign_formal_inequationValue.java
branches/mango/Mango/Mango/src/mango/ruleAction/typeAssignment/Assign_formal_integralValue.java
branches/mango/Mango/Mango/src/mango/ruleAction/typeAssignment/Assign_formal_invocationName.java
branches/mango/Mango/Mango/src/mango/ruleAction/typeAssignment/Assign_formal_location.java
branches/mango/Mango/Mango/src/mango/ruleAction/typeAssignment/Assign_formal_object.java
branches/mango/Mango/Mango/src/mango/ruleAction/typeAssignment/Assign_formal_predicate.java
branches/mango/Mango/Mango/src/mango/ruleAction/typeAssignment/Assign_formal_predicateTransformer.java
branches/mango/Mango/Mango/src/mango/ruleAction/typeAssignment/Assign_formal_state.java
branches/mango/Mango/Mango/src/mango/ruleAction/typeAssignment/Assign_formal_stringValue.java
branches/mango/Mango/Mango/src/mango/ruleAction/typeAssignment/Assign_formal_ucon.java
branches/mango/Mango/Mango/src/mango/ruleAction/typeAssignment/Assign_int.java
branches/mango/Mango/Mango/src/mango/ruleAction/typeAssignment/Assign_long.java
branches/mango/Mango/Mango/src/mango/ruleAction/typeAssignment/InheritTypeFromThirdArg.java
branches/mango/Mango/Mango/src/mango/ruleAction/typeAssignment/TypeAssignmentRule.java
branches/mango/Mango/Mango/src/mango/ruleRequirement/leadingKey/NotResovedInvocationUcon.java
branches/mango/Mango/Mango/src/mango/ruleRequirement/linearArithmetic/ArithmeticLocalVar.java
branches/mango/Mango/Mango/src/mango/ruleRequirement/symbols/NotInvocationNameSym.java
branches/mango/Mango/Mango/src/mango/worker/mangoModel/sym/ucon/InvocationUconSym.java
branches/mango/Mango/javapathfinder-mango-bridge/mango/scanner/InvocationUconMethod.java
branches/mango/Mango/javapathfinder-mango-bridge/mango/scanner/bytecode/InvocationUconPlace.java
Removed Paths:
-------------
branches/mango/Mango/Mango/src/mango/ruleAction/conditionalTechniques/type/DefArithmeticValue.java
branches/mango/Mango/Mango/src/mango/ruleAction/conditionalTechniques/type/DefCoefficientValue.java
branches/mango/Mango/Mango/src/mango/ruleAction/conditionalTechniques/type/DefConjunctionValue.java
branches/mango/Mango/Mango/src/mango/ruleAction/conditionalTechniques/type/DefDouble.java
branches/mango/Mango/Mango/src/mango/ruleAction/conditionalTechniques/type/DefEquationValue.java
branches/mango/Mango/Mango/src/mango/ruleAction/conditionalTechniques/type/DefFloat.java
branches/mango/Mango/Mango/src/mango/ruleAction/conditionalTechniques/type/DefGstack.java
branches/mango/Mango/Mango/src/mango/ruleAction/conditionalTechniques/type/DefInequationValue.java
branches/mango/Mango/Mango/src/mango/ruleAction/conditionalTechniques/type/DefInt.java
branches/mango/Mango/Mango/src/mango/ruleAction/conditionalTechniques/type/DefIntegralValue.java
branches/mango/Mango/Mango/src/mango/ruleAction/conditionalTechniques/type/DefLong.java
branches/mango/Mango/Mango/src/mango/ruleAction/conditionalTechniques/type/DefObject.java
branches/mango/Mango/Mango/src/mango/ruleAction/conditionalTechniques/type/DefPredicate.java
branches/mango/Mango/Mango/src/mango/ruleAction/conditionalTechniques/type/DefPredicateTransformer.java
branches/mango/Mango/Mango/src/mango/ruleAction/conditionalTechniques/type/DefState.java
branches/mango/Mango/Mango/src/mango/ruleAction/conditionalTechniques/type/DefStringValue.java
branches/mango/Mango/Mango/src/mango/ruleAction/conditionalTechniques/type/DefUcon.java
branches/mango/Mango/Mango/src/mango/ruleAction/conditionalTechniques/type/InheritTypeFromThirdArg.java
branches/mango/Mango/Mango/src/mango/ruleAction/conditionalTechniques/type/TypeAssignmentRule.java
branches/mango/Mango/Mango/src/mango/ruleAction/coreRewriter/classModel/BuildAbstractUcon.java
branches/mango/Mango/Mango/src/mango/ruleAction/coreRewriter/classModel/BuildAbstractUconDummy.java
branches/mango/Mango/Mango/src/mango/ruleAction/translate/engine/TranslateClassPtrPred.java
branches/mango/Mango/Mango/src/mango/ruleRequirement/leadingKey/NotResolvedAbstractUcon.java
branches/mango/Mango/Mango/src/mango/ruleRequirement/symbols/NotAbstractSym.java
branches/mango/Mango/Mango/src/mango/worker/mangoModel/sym/ucon/AbstractUconSym.java
branches/mango/Mango/javapathfinder-mango-bridge/mango/scanner/AbstractUconMethod.java
branches/mango/Mango/javapathfinder-mango-bridge/mango/scanner/bytecode/AbstractUconPlace.java
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fra...@us...> - 2009-07-24 05:02:33
|
Revision: 1776
http://javapathfinder.svn.sourceforge.net/javapathfinder/?rev=1776&view=rev
Author: frankrimlinger
Date: 2009-07-24 05:02:21 +0000 (Fri, 24 Jul 2009)
Log Message:
-----------
Working on Mango_Class native implementation, start with makeComponentClass.
Modified Paths:
--------------
branches/mango/Mango/Mango/src/mango/ruleAction/coreRewriter/classModel/IsSuperClass.java
branches/mango/Mango/mangoUserHome/frank/rules/rulebase.zip
branches/mango/Mango/mangoUserHome/system/System/mango/cheat_sheet.txt
branches/mango/Mango/mangoUserHome/system/System/mango/lang/Mango_Class.java
Added Paths:
-----------
branches/mango/Mango/Mango/src/mango/ruleAction/coreRewriter/classModel/MakeComponentClass.java
branches/mango/Mango/Mango/src/mango/ruleRequirement/symbols/ClassNameSymReq.java
Removed Paths:
-------------
branches/mango/Mango/Mango/src/mango/ruleRequirement/symbols/ClassNameType.java
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fra...@us...> - 2009-07-24 15:29:04
|
Revision: 1777
http://javapathfinder.svn.sourceforge.net/javapathfinder/?rev=1777&view=rev
Author: frankrimlinger
Date: 2009-07-24 15:28:57 +0000 (Fri, 24 Jul 2009)
Log Message:
-----------
Finished rehab of native implementation of Mango_Class, adding semantics for isClassLoadable and fixing a problem with existing semantics for isSuperClass. For the record, a TranslationSym "has semantics" if it is bound to an extension of the Semantics object. Currently, the Semantics class provides abstract methods for rendering and negation. By using this mechanism, a TranslationSym can "know" if it is true or false, and get translated or negated accordingly. This mechanism accommodates the vagaries of natural language. A lot a ad hoc translation rules should be reworked using this far more robust approach.
Modified Paths:
--------------
branches/mango/Mango/Mango/src/mango/worker/workFlow/translate/model/semantics/Semantics.java
branches/mango/Mango/mangoUserHome/frank/rules/rulebase.zip
branches/mango/Mango/mangoUserHome/system/System/java/lang/Class_MangoFormal.java
branches/mango/Mango/mangoUserHome/system/System/mango/lang/Mango_Class.java
Added Paths:
-----------
branches/mango/Mango/Mango/src/mango/ruleAction/coreRewriter/classModel/IsClassLoadable.java
branches/mango/Mango/Mango/src/mango/ruleAction/translate/semantics/AddSemanticsForIsClassLoadable.java
branches/mango/Mango/Mango/src/mango/worker/workFlow/translate/model/semantics/SemanticsForIsClassLoadable.java
Removed Paths:
-------------
branches/mango/Mango/Mango/src/mango/ruleAction/coreRewriter/classModel/Is_class_loadable.java
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fra...@us...> - 2009-07-24 22:28:24
|
Revision: 1778
http://javapathfinder.svn.sourceforge.net/javapathfinder/?rev=1778&view=rev
Author: frankrimlinger
Date: 2009-07-24 22:28:14 +0000 (Fri, 24 Jul 2009)
Log Message:
-----------
Fixed bug refactoring dual and dualp to formal_dual and formal_dualp. ditto for gstack. Fixed stale type names in free variable expressions within generalization and matching rules.
Fixed misspelling "Invocaton" of "Invocation" in rule base. There is nothing like shooting yourself in the foot.
Changed specification status types to <method> and <loop> for conceptual clarity.
Eliminated "wrapper keys". This was an ill-conceived rewriter optimization technique that is no longer required due to changes in the typing system.
To aid in parameter detection, introduced formal types <unknownLocalVar> and <unknownOpVar>. Henceforth, direct comparision with <unknown> is not advisable. Instead, us the static method FormalTypes.isUnknown(), which will check for null or any flavor of unknowness.
Working on specification of Class_MangoFormal.forName(). The "last bug" is failure of getFromLocalVar to pick up unknownLocalVar type.
Modified Paths:
--------------
branches/mango/Mango/Mango/src/mango/core/RuleResourceManager.java
branches/mango/Mango/Mango/src/mango/core/sym/RuleKey.java
branches/mango/Mango/Mango/src/mango/module/definition/loop/LoopDefinitionManager.java
branches/mango/Mango/Mango/src/mango/module/definition/method/MethodDefinitionManager.java
branches/mango/Mango/Mango/src/mango/module/definition/method/msg/CreateMethodStubMsg.java
branches/mango/Mango/Mango/src/mango/module/definition/model/DefinitionManager.java
branches/mango/Mango/Mango/src/mango/module/definition/sym/ParamSym.java
branches/mango/Mango/Mango/src/mango/module/instance/loop/model/LoopInstanceManager.java
branches/mango/Mango/Mango/src/mango/module/instance/method/model/MethodInstanceManager.java
branches/mango/Mango/Mango/src/mango/module/instance/model/InstanceManager.java
branches/mango/Mango/Mango/src/mango/module/msg/TranslateMsg.java
branches/mango/Mango/Mango/src/mango/ruleAction/coreRewriter/classModel/BuildInvocationUconDummy.java
branches/mango/Mango/Mango/src/mango/ruleAction/coreRewriter/clinit/CallThisClinit.java
branches/mango/Mango/Mango/src/mango/ruleAction/coreRewriter/clinit/HasCommutingClinit.java
branches/mango/Mango/Mango/src/mango/ruleAction/coreRewriter/sorting/SORT.java
branches/mango/Mango/Mango/src/mango/ruleAction/coreRewriter/sorting/SRTM.java
branches/mango/Mango/Mango/src/mango/ruleAction/coreRewriter/sorting/SRTP.java
branches/mango/Mango/Mango/src/mango/tree/model/Cell.java
branches/mango/Mango/Mango/src/mango/tree/model/FolderViewer.java
branches/mango/Mango/Mango/src/mango/worker/Mango.java
branches/mango/Mango/Mango/src/mango/worker/engine/hash/Kons.java
branches/mango/Mango/Mango/src/mango/worker/engine/hash/symbolHash/SymbolHashEnterpriseAndTranslation.java
branches/mango/Mango/Mango/src/mango/worker/engine/hash/symbolHash/SymbolHashInitialize.java
branches/mango/Mango/Mango/src/mango/worker/engine/hash/symbolHash/SymbolHashMangoModel.java
branches/mango/Mango/Mango/src/mango/worker/engine/hash/symbolHash/SymbolHashTyping.java
branches/mango/Mango/Mango/src/mango/worker/engine/rule/Rule.java
branches/mango/Mango/Mango/src/mango/worker/engine/rule/RuleBase.java
branches/mango/Mango/Mango/src/mango/worker/engine/sym/ClassNameSym.java
branches/mango/Mango/Mango/src/mango/worker/engine/sym/Sym.java
branches/mango/Mango/Mango/src/mango/worker/mangoModel/BackupAlg.java
branches/mango/Mango/Mango/src/mango/worker/mangoModel/sym/graphic/CodeSym.java
branches/mango/Mango/Mango/src/mango/worker/mangoModel/sym/return_terminator/ReturnTerminatorSym.java
branches/mango/Mango/Mango/src/mango/worker/mangoModel/sym/sink_terminator/BadPlaceSinkSym.java
branches/mango/Mango/Mango/src/mango/worker/mangoModel/sym/sink_terminator/SinkTerminatorSym.java
branches/mango/Mango/Mango/src/mango/worker/mangoModel/sym/ucon/InvocationUconSym.java
branches/mango/Mango/Mango/src/mango/worker/utilities/Util.java
branches/mango/Mango/Mango/src/mango/worker/workFlow/coreTechniques/agent/FreeVarsAgent.java
branches/mango/Mango/Mango/src/mango/worker/workFlow/form/sym/binder/executable/FrameSym.java
branches/mango/Mango/Mango/src/mango/worker/workFlow/form/sym/binder/executable/HeapSym.java
branches/mango/Mango/Mango/src/mango/worker/workFlow/form/sym/binder/executable/LocalVarSym.java
branches/mango/Mango/Mango/src/mango/worker/workFlow/form/sym/binder/executable/StackSym.java
branches/mango/Mango/Mango/src/mango/worker/workFlow/form/sym/binder/executable/StatSym.java
branches/mango/Mango/Mango/src/mango/worker/workFlow/functionSpace/sym/ModuleInvocationSym.java
branches/mango/Mango/Mango/src/mango/worker/workFlow/msg/ShowTypeRequestMsg.java
branches/mango/Mango/javapathfinder-mango-bridge/mango/FormalTypes.java
branches/mango/Mango/javapathfinder-mango-bridge/mango/scanner/MangoMethodPeer.java
branches/mango/Mango/javapathfinder-mango-bridge/mango/scanner/bytecode/INVOKECLINIT.java
branches/mango/Mango/mangoUserHome/frank/rules/rulebase.zip
branches/mango/Mango/mangoUserHome/system/System/mango/cheat_sheet.txt
Added Paths:
-----------
branches/mango/Mango/Mango/src/mango/ruleAction/coreRewriter/classModel/BuildInvocationUcon.java
branches/mango/Mango/Mango/src/mango/ruleAction/typeAssignment/Assign_formal_frame.java
branches/mango/Mango/Mango/src/mango/ruleAction/typeAssignment/Assign_formal_heap.java
branches/mango/Mango/Mango/src/mango/ruleAction/typeAssignment/Assign_formal_stack.java
branches/mango/Mango/Mango/src/mango/ruleAction/typeAssignment/Assign_formal_unknownLocalVar.java
branches/mango/Mango/Mango/src/mango/ruleAction/typeAssignment/Assign_formal_unknownOpVar.java
branches/mango/Mango/Mango/src/mango/ruleRequirement/typing/FrameReq.java
branches/mango/Mango/Mango/src/mango/ruleRequirement/typing/HeapReq.java
branches/mango/Mango/Mango/src/mango/ruleRequirement/typing/LocationReq.java
branches/mango/Mango/Mango/src/mango/ruleRequirement/typing/ObjectReq.java
branches/mango/Mango/Mango/src/mango/ruleRequirement/typing/StackReq.java
branches/mango/Mango/Mango/src/mango/ruleRequirement/typing/UnknownLocalVarReq.java
branches/mango/Mango/Mango/src/mango/ruleRequirement/typing/UnknownOpVarReq.java
branches/mango/Mango/mangoUserHome/frank/sessions/a.zip
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/Class_MangoFormal/
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/Class_MangoFormal/forName(Ljava.lang.String_MangoFormal;)Ljava.lang.Class_MangoFormal;/
branches/mango/Mango/mangoUserHome/frank/sessions/java/lang/Class_MangoFormal/forName(Ljava.lang.String_MangoFormal;)Ljava.lang.Class_MangoFormal;/a.zip
Removed Paths:
-------------
branches/mango/Mango/Mango/src/mango/graph/data/sink_terminator/AssertionData.java
branches/mango/Mango/Mango/src/mango/ruleAction/coreRewriter/classModel/BuildInvocatonUcon.java
branches/mango/Mango/Mango/src/mango/ruleRequirement/semantics/SemanticsForIsSuperClass.java
branches/mango/Mango/Mango/src/mango/worker/mangoModel/sym/sink_terminator/AssertionSym.java
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|