Browse Source

Bug fix in CNF conversion.

git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@10461 bbc10eb1-c90d-0410-af57-cb519fbb1720
master
Dave Parker 11 years ago
parent
commit
e2d1f0af25
  1. 4
      prism/src/parser/BooleanUtils.java
  2. 25
      prism/src/prism/Prism.java

4
prism/src/parser/BooleanUtils.java

@ -309,8 +309,8 @@ public class BooleanUtils
}
return cnf;
}
// Or
if (Expression.isOr(expr)) {
// And
if (Expression.isAnd(expr)) {
Expression a = ((ExpressionBinaryOp) expr).getOperand1();
Expression b = ((ExpressionBinaryOp) expr).getOperand2();
List<List<Expression>> aCnf = doConversionToCNF(a);

25
prism/src/prism/Prism.java

@ -1424,30 +1424,7 @@ public class Prism extends PrismComponent implements PrismSettingsListener
*/
public ModulesFile importPepaString(String s) throws PrismException, PrismLangException
{
File pepaFile = null;
String modelString;
// create temporary file containing pepa model
try {
pepaFile = File.createTempFile("tempPepa" + System.currentTimeMillis(), ".pepa");
FileWriter write = new FileWriter(pepaFile);
write.write(s);
write.close();
} catch (IOException e) {
if (pepaFile != null)
pepaFile.delete();
throw new PrismException("Couldn't create temporary file for PEPA conversion");
}
// compile pepa file to string
try {
modelString = pepa.compiler.Main.compile("" + pepaFile);
} catch (pepa.compiler.InternalError e) {
if (pepaFile != null)
pepaFile.delete();
throw new PrismException("Could not import PEPA file:\n" + e.getMessage());
}
String prismModelString = new PrismLanguageImporter().convert("pepa", s);
// parse string as prism model and return
return parseModelString(modelString);
}

Loading…
Cancel
Save