Loading src/main/java/ca/mcscert/jtet/expression/SALGenerator.java +24 −1 Original line number Diff line number Diff line Loading @@ -28,6 +28,8 @@ */ package ca.mcscert.jtet.expression; import java.util.Map; /** * @author Matthew Dawson <matthew@mjdsystems.ca> */ Loading Loading @@ -87,9 +89,30 @@ public class SALGenerator implements CheckerGenerator { return "(" + GetUnaryOperationSymbolFor(op) + " " + expression + ")"; } public String GenerateVariableType(VariableType type) { if (type instanceof RealVariableType) { return "REAL"; } else if (type instanceof BooleanVariableType) { return "BOOLEAN"; } else { throw new IllegalArgumentException("The SAL Generator doesn't currently handle this variable type (Class: " + type.getClass().getName() + ")"); } } @Override public String GenerateVariablesDeclaration(VariableCollection variableCollection) { throw new UnsupportedOperationException(); Map<String, Variable> vars = variableCollection.getVariables(); StringBuilder ret = new StringBuilder(); // Generate all the variables. for(Variable var : vars.values()) { ret.append(var.outputName()) .append(":") .append(GenerateVariableType(var.type())) .append("\n"); } return ret.toString(); } @Override Loading src/test/java/ca/mcscert/jtet/expression/GenericVariableDeclarationGeneratorTest.java +11 −0 Original line number Diff line number Diff line Loading @@ -111,6 +111,17 @@ public class GenericVariableDeclarationGeneratorTest { null, null, null }, {new SALGenerator(), "x:REAL\n", "new_x_name:REAL\n", null, "x:BOOLEAN\n", null, null, null, null, null } }); } Loading Loading
src/main/java/ca/mcscert/jtet/expression/SALGenerator.java +24 −1 Original line number Diff line number Diff line Loading @@ -28,6 +28,8 @@ */ package ca.mcscert.jtet.expression; import java.util.Map; /** * @author Matthew Dawson <matthew@mjdsystems.ca> */ Loading Loading @@ -87,9 +89,30 @@ public class SALGenerator implements CheckerGenerator { return "(" + GetUnaryOperationSymbolFor(op) + " " + expression + ")"; } public String GenerateVariableType(VariableType type) { if (type instanceof RealVariableType) { return "REAL"; } else if (type instanceof BooleanVariableType) { return "BOOLEAN"; } else { throw new IllegalArgumentException("The SAL Generator doesn't currently handle this variable type (Class: " + type.getClass().getName() + ")"); } } @Override public String GenerateVariablesDeclaration(VariableCollection variableCollection) { throw new UnsupportedOperationException(); Map<String, Variable> vars = variableCollection.getVariables(); StringBuilder ret = new StringBuilder(); // Generate all the variables. for(Variable var : vars.values()) { ret.append(var.outputName()) .append(":") .append(GenerateVariableType(var.type())) .append("\n"); } return ret.toString(); } @Override Loading
src/test/java/ca/mcscert/jtet/expression/GenericVariableDeclarationGeneratorTest.java +11 −0 Original line number Diff line number Diff line Loading @@ -111,6 +111,17 @@ public class GenericVariableDeclarationGeneratorTest { null, null, null }, {new SALGenerator(), "x:REAL\n", "new_x_name:REAL\n", null, "x:BOOLEAN\n", null, null, null, null, null } }); } Loading