diff --git a/modeling/DIPLODOCUS/SmartCardProtocol.xml b/modeling/DIPLODOCUS/SmartCardProtocol.xml index 8b6f22e709cad5f4f43ff9e191426e3548b47100..8d2411572f479310be0e30df608763c27030b508 100755 --- a/modeling/DIPLODOCUS/SmartCardProtocol.xml +++ b/modeling/DIPLODOCUS/SmartCardProtocol.xml @@ -8,16 +8,16 @@ <cdparam x="535" y="347" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="Connector between ports" /> -<P1 x="556" y="321" id="169" /> -<P2 x="534" y="395" id="216" /> +<P1 x="556" y="347" id="169" /> +<P2 x="547" y="382" id="216" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="3" > <cdparam x="820" y="398" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="Connector between ports" /> -<P1 x="1025" y="471" id="63" /> -<P2 x="761" y="548" id="184" /> +<P1 x="1025" y="497" id="63" /> +<P2 x="761" y="574" id="184" /> <Point x="887" y="577" /> <AutomaticDrawing data="true" /> </CONNECTOR><SUBCOMPONENT type="-1" id="2" > @@ -34,15 +34,15 @@ <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="Connector between ports" /> <P1 x="710" y="403" id="186" /> -<P2 x="693" y="321" id="147" /> +<P2 x="693" y="347" id="147" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="5" > <cdparam x="522" y="390" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="Connector between ports" /> -<P1 x="534" y="369" id="211" /> -<P2 x="453" y="322" id="41" /> +<P1 x="521" y="382" id="211" /> +<P2 x="466" y="335" id="41" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="6" > @@ -57,16 +57,16 @@ <cdparam x="656" y="426" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="Connector between ports" /> -<P1 x="805" y="542" id="190" /> -<P2 x="969" y="474" id="77" /> +<P1 x="816" y="552" id="190" /> +<P2 x="969" y="495" id="77" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="8" > <cdparam x="656" y="400" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="Connector between ports" /> -<P1 x="805" y="509" id="192" /> -<P2 x="931" y="466" id="75" /> +<P1 x="816" y="519" id="192" /> +<P2 x="921" y="476" id="75" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="9" > @@ -74,126 +74,126 @@ <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="Connector between ports" /> <P1 x="751" y="406" id="200" /> -<P2 x="842" y="362" id="105" /> +<P2 x="829" y="375" id="105" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="10" > <cdparam x="689" y="292" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="Connector between ports" /> -<P1 x="842" y="388" id="109" /> -<P2 x="931" y="352" id="85" /> +<P1 x="855" y="375" id="109" /> +<P2 x="921" y="362" id="85" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="11" > <cdparam x="656" y="377" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="Connector between ports" /> -<P1 x="805" y="481" id="196" /> -<P2 x="931" y="443" id="83" /> +<P1 x="816" y="491" id="196" /> +<P2 x="921" y="453" id="83" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="12" > <cdparam x="656" y="351" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="Connector between ports" /> -<P1 x="805" y="448" id="194" /> -<P2 x="931" y="416" id="81" /> +<P1 x="816" y="458" id="194" /> +<P2 x="921" y="426" id="81" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="13" > <cdparam x="741" y="296" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="Connector between ports" /> -<P1 x="931" y="387" id="79" /> -<P2 x="805" y="419" id="198" /> +<P1 x="921" y="397" id="79" /> +<P2 x="816" y="429" id="198" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="14" > <cdparam x="735" y="260" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="Connector between ports" /> -<P1 x="931" y="317" id="87" /> -<P2 x="734" y="269" id="159" /> +<P1 x="918" y="330" id="87" /> +<P2 x="747" y="282" id="159" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="15" > <cdparam x="641" y="230" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="Connector between ports" /> -<P1 x="734" y="235" id="157" /> -<P2 x="931" y="278" id="89" /> +<P1 x="747" y="248" id="157" /> +<P2 x="918" y="291" id="89" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="16" > <cdparam x="641" y="195" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="Connector between ports" /> -<P1 x="734" y="190" id="155" /> -<P2 x="931" y="235" id="91" /> +<P1 x="747" y="203" id="155" /> +<P2 x="918" y="248" id="91" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="17" > <cdparam x="740" y="353" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="Connector between ports" /> -<P1 x="842" y="362" id="104" /> -<P2 x="734" y="301" id="153" /> +<P1 x="829" y="375" id="104" /> +<P2 x="747" y="314" id="153" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="18" > <cdparam x="460" y="270" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="Connector between ports" /> -<P1 x="534" y="290" id="163" /> -<P2 x="453" y="290" id="35" /> +<P1 x="521" y="303" id="163" /> +<P2 x="466" y="303" id="35" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="19" > <cdparam x="387" y="129" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="Connector between ports" /> -<P1 x="453" y="116" id="31" /> -<P2 x="534" y="116" id="151" /> +<P1 x="464" y="126" id="31" /> +<P2 x="524" y="126" id="151" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="20" > <cdparam x="389" y="200" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="Connector between ports" /> -<P1 x="453" y="202" id="37" /> -<P2 x="534" y="202" id="165" /> +<P1 x="466" y="215" id="37" /> +<P2 x="521" y="215" id="165" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="21" > <cdparam x="460" y="236" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="Connector between ports" /> -<P1 x="534" y="247" id="167" /> -<P2 x="453" y="247" id="39" /> +<P1 x="521" y="260" id="167" /> +<P2 x="466" y="260" id="39" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="22" > <cdparam x="389" y="163" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="Connector between ports" /> -<P1 x="453" y="156" id="33" /> -<P2 x="534" y="156" id="161" /> +<P1 x="466" y="169" id="33" /> +<P2 x="521" y="169" id="161" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="23" > <cdparam x="967" y="190" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from TGComponent to TGComponent" value="Connector between ports" /> -<P1 x="931" y="185" id="93" /> -<P2 x="734" y="111" id="173" /> +<P1 x="918" y="198" id="93" /> +<P2 x="747" y="124" id="173" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="24" > <cdparam x="1028" y="535" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from TGComponent to TGComponent" value="Connector between ports" /> -<P1 x="630" y="324" id="149" /> +<P1 x="630" y="345" id="149" /> <P2 x="669" y="406" id="188" /> <AutomaticDrawing data="true" /> </CONNECTOR> @@ -201,24 +201,24 @@ <cdparam x="1308" y="303" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from TGComponent to TGComponent" value="Connector between ports" /> -<P1 x="1232" y="368" id="127" /> -<P2 x="1167" y="370" id="73" /> +<P1 x="1222" y="378" id="127" /> +<P2 x="1178" y="380" id="73" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="26" > <cdparam x="1172" y="437" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from TGComponent to TGComponent" value="Connector between ports" /> -<P1 x="1167" y="405" id="71" /> -<P2 x="1232" y="403" id="125" /> +<P1 x="1178" y="415" id="71" /> +<P2 x="1222" y="413" id="125" /> <AutomaticDrawing data="true" /> </CONNECTOR> <CONNECTOR type="126" id="29" > <cdparam x="1041" y="162" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from TGComponent to TGComponent" value="Connector between ports" /> -<P1 x="1167" y="198" id="69" /> -<P2 x="1167" y="266" id="67" /> +<P1 x="1178" y="208" id="69" /> +<P2 x="1178" y="276" id="67" /> <Point x="1227" y="207" /> <Point x="1227" y="247" /> <AutomaticDrawing data="true" /> @@ -243,8 +243,8 @@ <cdparam x="877" y="343" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from TGComponent to TGComponent" value="Connector between ports" /> -<P1 x="1167" y="444" id="65" /> -<P2 x="1232" y="431" id="123" /> +<P1 x="1178" y="454" id="65" /> +<P2 x="1222" y="441" id="123" /> <AutomaticDrawing data="true" /> </CONNECTOR> <COMPONENT type="1202" id="53" > @@ -5821,7 +5821,7 @@ On prend b=1 comme exemple <COMPONENT type="301" id="1297" > <cdparam x="453" y="214" /> -<sizeparam width="105" height="20" minWidth="50" minHeight="20" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<sizeparam width="105" height="15" minWidth="50" minHeight="20" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> <infoparam name="UML Note" value="data exchange @@ -7014,7 +7014,7 @@ On prend b=1 comme exemple </SUBCOMPONENT> <COMPONENT type="1100" id="1717" > -<cdparam x="267" y="59" /> +<cdparam x="266" y="59" /> <sizeparam width="272" height="167" minWidth="150" minHeight="100" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> @@ -7050,7 +7050,7 @@ On prend b=1 comme exemple </COMPONENT> <SUBCOMPONENT type="1101" id="1674" > <father id="1717" num="0" /> -<cdparam x="277" y="90" /> +<cdparam x="276" y="90" /> <sizeparam width="108" height="40" minWidth="75" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="0" maxX="164" minY="0" maxY="127" /> @@ -7069,7 +7069,7 @@ On prend b=1 comme exemple </SUBCOMPONENT> <SUBCOMPONENT type="1101" id="1683" > <father id="1717" num="1" /> -<cdparam x="293" y="165" /> +<cdparam x="292" y="165" /> <sizeparam width="139" height="40" minWidth="75" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="0" maxX="133" minY="0" maxY="127" /> @@ -7088,7 +7088,7 @@ On prend b=1 comme exemple </SUBCOMPONENT> <SUBCOMPONENT type="1101" id="1692" > <father id="1717" num="2" /> -<cdparam x="392" y="119" /> +<cdparam x="391" y="119" /> <sizeparam width="136" height="37" minWidth="75" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <cdrectangleparam minX="0" maxX="136" minY="0" maxY="130" /> @@ -7146,7 +7146,7 @@ On prend b=1 comme exemple <cdparam x="388" y="162" /> <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from CPU0 to Bus0" value="{info}" /> -<P1 x="403" y="226" id="1699" /> +<P1 x="402" y="226" id="1699" /> <P2 x="403" y="269" id="1608" /> <AutomaticDrawing data="true" /> <extraparam> diff --git a/src/main/java/avatartranslator/AvatarArithmeticOp.java b/src/main/java/avatartranslator/AvatarArithmeticOp.java index c439b3ceda8b6cb601c4344f6d5b36a66480db1b..41bacaf9576b967342d70b2f57ea32d754af3d7b 100644 --- a/src/main/java/avatartranslator/AvatarArithmeticOp.java +++ b/src/main/java/avatartranslator/AvatarArithmeticOp.java @@ -51,7 +51,7 @@ public class AvatarArithmeticOp extends AvatarTerm { AvatarTerm term2; String operator; - private static final String [] knownOp = {"+", "-"}; + private static final String [] knownOp = {"+", "-", "*"}; public AvatarArithmeticOp (AvatarTerm _term1, AvatarTerm _term2, String _operator, Object _referenceObject) { super (_term1.getName () + _operator + _term2.getName (), _referenceObject); diff --git a/src/main/java/avatartranslator/AvatarGuard.java b/src/main/java/avatartranslator/AvatarGuard.java index 393cf8bb70dc61b0ae0dfb4b6a7b738e2ef796fa..b4941240b296aa19ebb33c04453c9ff077fe9a9b 100644 --- a/src/main/java/avatartranslator/AvatarGuard.java +++ b/src/main/java/avatartranslator/AvatarGuard.java @@ -51,7 +51,7 @@ import myutil.TraceManager; */ public abstract class AvatarGuard { - private static int getMatchingRParen (String s, int indexLParen) { + public static int getMatchingRParen (String s, int indexLParen) { int index, n; n = 1; for (index = indexLParen+1; index < s.length (); index++) { diff --git a/src/main/java/avatartranslator/AvatarTerm.java b/src/main/java/avatartranslator/AvatarTerm.java index 45d9b5dfaae6b52e59a3893fca590d87388bd68b..a717897fdb4ec2eef141d05c276cad66a9b681cd 100644 --- a/src/main/java/avatartranslator/AvatarTerm.java +++ b/src/main/java/avatartranslator/AvatarTerm.java @@ -66,33 +66,48 @@ public abstract class AvatarTerm extends AvatarElement { if (toParse == null || toParse.isEmpty ()) return null; + // TraceManager.addDev("toParse:" + toParse); + AvatarTerm result = AvatarTermFunction.createFromString (block, toParse); - if (result != null) + if (result != null) { + //TraceManager.addDev("Result1=" + result); return result; + } + result = AvatarTuple.createFromString (block, toParse); - if (result != null) + if (result != null) { + //TraceManager.addDev("Parsed:" + toParse); + //TraceManager.addDev("Result2=" + result); return result; + } result = AvatarArithmeticOp.createFromString (block, toParse); - if (result != null) + if (result != null) { + //TraceManager.addDev("Result3=" + result); return result; + } toParse = toParse.trim (); result = block.getAvatarAttributeWithName (toParse); - if (result != null) + if (result != null) { + //TraceManager.addDev("Result4=" + result); return result; + } // TraceManager.addDev ("AvatarAttribute '" + toParse + "' couldn't be parsed"); result = block.getAvatarSpecification ().getAvatarConstantWithName (toParse); - if (result != null) + if (result != null) { + //TraceManager.addDev("Result5=" + result); return result; + } try { // TODO: replace that by a true AvatarNumeric //int i = Integer.parseInt (toParse); result = new AvatarConstant (toParse, block); block.getAvatarSpecification ().addConstant ((AvatarConstant) result); + //TraceManager.addDev("Result6=" + result); return result; } catch (NumberFormatException e) { } @@ -100,12 +115,14 @@ public abstract class AvatarTerm extends AvatarElement { if (AvatarTerm.isValidName (toParse)) { result = new AvatarConstant (toParse, block); block.getAvatarSpecification ().addConstant ((AvatarConstant) result); + //TraceManager.addDev("Result7=" + result); return result; } //TraceManager.addDev ("AvatarConstant '" + toParse + "' couldn't be parsed"); //TraceManager.addDev ("AvatarTerm '" + toParse + "' couldn't be parsed"); //if (allowRaw) + //TraceManager.addDev("Result7: return new term"); return new AvatarTermRaw (toParse, block); //else //return null; diff --git a/src/main/java/avatartranslator/AvatarTransition.java b/src/main/java/avatartranslator/AvatarTransition.java index 257b17e8f9a9fc55d5000221fcefa80648eb3a5e..81a395fe07826c3b907fdced78fa762e077ddec2 100644 --- a/src/main/java/avatartranslator/AvatarTransition.java +++ b/src/main/java/avatartranslator/AvatarTransition.java @@ -38,6 +38,8 @@ package avatartranslator; +import myutil.TraceManager; + import java.util.Iterator; import java.util.LinkedList; import java.util.List; @@ -204,14 +206,16 @@ public class AvatarTransition extends AvatarStateMachineElement { } public void addAction(String _action) { + TraceManager.addDev("**************************** String expr to be added: " + _action); AvatarAction aa = AvatarTerm.createActionFromString(block, _action); - //TraceManager.addDev("**************************** Avatar action : " + aa); + TraceManager.addDev("**************************** Adding Avatar action from String : " + aa); if (aa != null) actions.add(aa); } public void addAction(AvatarAction _action) { if (_action != null) + TraceManager.addDev("**************************** Avatar action from AvatarAction: " + _action); this.actions.add(_action); } diff --git a/src/main/java/avatartranslator/AvatarTuple.java b/src/main/java/avatartranslator/AvatarTuple.java index 4386fe06f5aa479f3d67bd7b677d09608beb90b3..d5d716c10e57dcaaf84919b7839edee86ea9f9a7 100644 --- a/src/main/java/avatartranslator/AvatarTuple.java +++ b/src/main/java/avatartranslator/AvatarTuple.java @@ -38,6 +38,8 @@ package avatartranslator; +import myutil.TraceManager; + import java.util.LinkedList; import java.util.List; import java.util.Map; @@ -61,15 +63,13 @@ public class AvatarTuple extends AvatarLeftHand { if (toParse.trim().startsWith("(")) { int indexLParen = toParse.indexOf ("("); - int indexRParen = toParse.indexOf (")", indexLParen); - if (indexRParen == -1) - indexRParen = toParse.length (); + int indexRParen = AvatarGuard.getMatchingRParen (toParse, indexLParen); String[] components = toParse.substring (indexLParen+1, indexRParen).trim().split (","); boolean illFormed = false; AvatarTuple argsTuple = new AvatarTuple (block); for (String arg: components) { if (!arg.isEmpty()) { - // TraceManager.addDev("In for with arg=" + arg+"|"); + TraceManager.addDev("In for with arg=" + arg+"|"); AvatarTerm t = AvatarTerm.createFromString (block, arg); if (t == null) { // Term couldn't be parsed @@ -81,9 +81,14 @@ public class AvatarTuple extends AvatarLeftHand { } } - if (!illFormed) + if (!illFormed) { // Every argument was correctly parsed result = argsTuple; + TraceManager.addDev("Successfully parsed tuple \"" + toParse.substring (indexLParen+1, indexRParen) + "\""); + } else { + TraceManager.addDev("Illformed expression ..."); + } + } return result; diff --git a/src/main/java/cli/Interpreter.java b/src/main/java/cli/Interpreter.java index bd539ae3963b881b3b28b9af8969e528bfbc07ab..67ec801640936676c1dfd7ab4232f59003ce6db2 100644 --- a/src/main/java/cli/Interpreter.java +++ b/src/main/java/cli/Interpreter.java @@ -61,7 +61,7 @@ import java.util.*; */ public class Interpreter implements Runnable { public final static Command[] commands = {new Help(), new Quit(), new Action(), - new Set(), new Wait(), new Print(), new History()}; + new Set(), new Wait(), new Print(), new History(), new TestSpecific()}; // Errors public final static String UNKNOWN = "Unknown command"; diff --git a/src/main/java/myutil/BoolExpressionEvaluator.java b/src/main/java/myutil/BoolExpressionEvaluator.java index ff6557e73e6652153c138da17551d9e4c17bc32a..a77656c7a752a5e233e351c52ea65c7d905cb6c5 100644 --- a/src/main/java/myutil/BoolExpressionEvaluator.java +++ b/src/main/java/myutil/BoolExpressionEvaluator.java @@ -1608,6 +1608,9 @@ public class BoolExpressionEvaluator { public boolean getResultOfWithIntExpr(String _expr) { int index, indexPar; + + //TraceManager.addDev("Going to evaluate: " + _expr); + String tmp = Conversion.replaceAllString(_expr, "==", "$").trim(); tmp = Conversion.replaceAllString(tmp, "!=", "$").trim(); tmp = Conversion.replaceAllString(tmp, ">=", ":").trim(); @@ -1717,7 +1720,7 @@ public class BoolExpressionEvaluator { IntBoolRes newElt; //TraceManager.addDev(current.getTop().toString()); - //TraceManager.addDev("<><><><><><> Dealing with token:" + token + " current=" + current); + TraceManager.addDev("<><><><><><> Dealing with token:" + token + " current=" + current); char c1 = token.charAt(0); diff --git a/src/main/java/myutil/IntExpressionEvaluator.java b/src/main/java/myutil/IntExpressionEvaluator.java index 9d90bfe6d05a30adc107de252802efe733f40843..afab93a2e10eafb8d5f7b130e5a442ffee6ca2fa 100644 --- a/src/main/java/myutil/IntExpressionEvaluator.java +++ b/src/main/java/myutil/IntExpressionEvaluator.java @@ -77,7 +77,7 @@ public class IntExpressionEvaluator { } public double getResultOf(String _expr) { - // TraceManager.addDev("Computing:" + _expr); + TraceManager.addDev("IntExpr: Computing:" + _expr); tokens = new java.util.StringTokenizer(_expr," \t\n\r+-*/()",true); computeNextToken(); diff --git a/src/main/java/ui/AvatarDesignPanelTranslator.java b/src/main/java/ui/AvatarDesignPanelTranslator.java index 1b99863898390e3dba6c9f2188933a3b269f99d8..122153ba6c569fc22c5bd34a60e721c8840ee137 100644 --- a/src/main/java/ui/AvatarDesignPanelTranslator.java +++ b/src/main/java/ui/AvatarDesignPanelTranslator.java @@ -1668,7 +1668,9 @@ public class AvatarDesignPanelTranslator { for (String actionText : connector.getEffectiveActions()) { if (actionText.trim().length() > 0) { + //TraceManager.addDev("Action1:" + actionText); actionText = modifyString(actionText.trim()); + //TraceManager.addDev("Action2:" + actionText); // Variable assignment or method call? if (!isAVariableAssignation(actionText)) { @@ -1700,6 +1702,7 @@ public class AvatarDesignPanelTranslator { if (error < 0) { makeError(error, connector.tdp, block, connector, "transition action", actionText); } else { + //TraceManager.addDev("Adding action:" + actionText); transition.addAction(actionText); } }