Browse Source

New swicth -exportdigital which only does model export once for digital clocks (-exportprism does it twice).

git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@4979 bbc10eb1-c90d-0410-af57-cb519fbb1720
master
Dave Parker 14 years ago
parent
commit
0988f0fe13
  1. 22
      prism/src/prism/Prism.java
  2. 11
      prism/src/prism/PrismCL.java

22
prism/src/prism/Prism.java

@ -120,6 +120,9 @@ public class Prism implements PrismSettingsListener
protected File exportPrismFile = null;
protected boolean exportPrismConst = false;
protected File exportPrismConstFile = null;
// Export digital clocks translation PRISM model?
protected boolean exportDigital = false;
protected File exportDigitalFile = null;
// Export target state info?
protected boolean exportTarget = false;
protected String exportTargetFilename = null;
@ -462,6 +465,19 @@ public class Prism implements PrismSettingsListener
exportPrismConstFile = f;
}
public void setExportDigital(boolean b) throws PrismException
{
exportDigital = b;
}
/**
* Set file to export digital clocks translation PRISM file to (null = stdout).
*/
public void setExportDigitalFile(File f) throws PrismException
{
exportDigitalFile = f;
}
public void setExportTarget(boolean b) throws PrismException
{
exportTarget = b;
@ -2406,13 +2422,13 @@ public class Prism implements PrismSettingsListener
currentModulesFile.setUndefinedConstants(oldModulesFile.getConstantValues());
currentModelType = ModelType.MDP;
// If required, export generated PRISM model
if (exportPrism) {
if (exportDigital) {
try {
exportPRISMModel(exportPrismFile);
exportPRISMModel(exportDigitalFile);
}
// In case of error, just print a warning
catch (FileNotFoundException e) {
mainLog.printWarning("PRISM code export failed: Couldn't open file \"" + exportPrismFile + "\" for output");
mainLog.printWarning("PRISM code export failed: Couldn't open file \"" + exportDigitalFile + "\" for output");
} catch (PrismException e) {
mainLog.printWarning("PRISM code export failed: " + e.getMessage());
}

11
prism/src/prism/PrismCL.java

@ -1159,6 +1159,17 @@ public class PrismCL implements PrismModelListener
errorAndExit("No file specified for -" + sw + " switch");
}
}
// export digital clocks translation prism model to file
else if (sw.equals("exportdigital")) {
if (i < args.length - 1) {
String filename = args[++i];
File f = (filename.equals("stdout")) ? null : new File(filename);
prism.setExportDigital(true);
prism.setExportDigitalFile(f);
} else {
errorAndExit("No file specified for -" + sw + " switch");
}
}
// export reachability target info to file (hidden option)
else if (sw.equals("exporttarget")) {
if (i < args.length - 1) {

Loading…
Cancel
Save