SemOpt  0.2alpha2-SCC
main.cpp
1 
9 #include "semopt.h"
10 
14 bool debug = false;
15 bool externalsat = true;
16 string satsolver;
17 int labellingconditions = 0;
18 bool manualopt = false;
19 string inputfile;
20 string semantics;
21 
22 time_t start;
23 
24 #ifndef UNIT_TEST
25 
26 int main(int argc, char *argv[])
27 {
28  //debug = true; // more verbose
29  inputfile = string("test-input/scc-test.dl");
30  AF framework = AF();
31  if (!framework.readFile(inputfile))
32  {
33  return -1;
34  }
35 
36  Preferred p = Preferred();
37 
38  SetArguments C_set1 = SetArguments();
39  C_set1.add_Argument(framework.getArgumentByName("a1"));
40  C_set1.add_Argument(framework.getArgumentByName("a6"));
41 
42  p.prefSAT(&framework, &C_set1);
43 
44  for (Preferred::iterator it = p.begin(); it != p.end(); it++)
45  {
46  cout << "First extension " << endl;
47  for (SetArgumentsIterator itarg = (*it).inargs()->begin();
48  itarg != (*it).inargs()->end(); itarg++)
49  {
50  cout << (*itarg)->getName() << endl;
51  }
52  cout << "Or even " << endl;
53  cout << *((*it).inargs()) << endl;
54  }
55 
56  SetArguments C_set2 = SetArguments();
57  C_set2.add_Argument(framework.getArgumentByName("a2"));
58  C_set2.add_Argument(framework.getArgumentByName("a3"));
59  C_set2.add_Argument(framework.getArgumentByName("a4"));
60 
61  p.prefSAT(&framework, &C_set2);
62 
63  for (Preferred::iterator it = p.begin(); it != p.end(); it++)
64  {
65  cout << "Second extension " << endl;
66  cout << *((*it).inargs()) << endl;
67  }
68 
69  return 0;
70 }
71 #endif