summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNathanael Sensfelder <SpamShield0@MultiAgentSystems.org>2017-07-31 10:58:47 +0200
committerNathanael Sensfelder <SpamShield0@MultiAgentSystems.org>2017-07-31 10:58:47 +0200
commitf122876abf02a5a2bc30c9c35b5d77daac8db51c (patch)
treebab2626d1e42cd31e6fdbc0cb903d8f56740672d
parent98f12eaabfd4bdc04f60fdbfe7fec69bdc0eea37 (diff)
Improves solution displaying.
-rw-r--r--instr-to-kodkod/src/Main.java4
-rw-r--r--instr-to-kodkod/src/VariableManager.java21
2 files changed, 23 insertions, 2 deletions
diff --git a/instr-to-kodkod/src/Main.java b/instr-to-kodkod/src/Main.java
index 554fa17..214e84c 100644
--- a/instr-to-kodkod/src/Main.java
+++ b/instr-to-kodkod/src/Main.java
@@ -298,7 +298,7 @@ public class Main
solver = new Solver();
solver.options().setSkolemDepth(-1);
solver.options().setSolver(SATFactory.DefaultSAT4J);
- solver.options().setReporter(new ConsoleReporter());
+// solver.options().setReporter(new ConsoleReporter());
solutions =
solver.solveAll
@@ -318,7 +318,7 @@ public class Main
if (sol.sat())
{
- System.out.println(sol);
+ VARIABLE_MANAGER.print_solution(sol.instance().relationTuples());
}
}
}
diff --git a/instr-to-kodkod/src/VariableManager.java b/instr-to-kodkod/src/VariableManager.java
index 4753341..bbef943 100644
--- a/instr-to-kodkod/src/VariableManager.java
+++ b/instr-to-kodkod/src/VariableManager.java
@@ -144,6 +144,27 @@ public class VariableManager
return result;
}
+ public void print_solution (final Map<Relation, TupleSet> solution)
+ {
+ System.out.print("(");
+
+ for (final TaggedVariable tg: tagged_variables.values())
+ {
+ System.out.print("\n (");
+ System.out.print(tg.name);
+ System.out.print(" ");
+ System.out.print
+ (
+ solution.get(tg.as_relation).iterator().next().atom(0)
+ );
+ System.out.print(" ");
+ System.out.print(tg.tag);
+ System.out.print(")");
+ }
+
+ System.out.println("\n)");
+ }
+
private static class TaggedVariable
{
private final String name;