going through an A4Solution

前端 未结 1 1193
臣服心动
臣服心动 2020-12-10 19:04

I am currently using the Alloy api in my project, and I need to display A4Solutions.I can do that easily with the vizualiser Alloy provides (vizGUI) , but it is a bit too li

相关标签:
1条回答
  • 2020-12-10 19:41

    Relations, or fields, you can retrieve from sigs, and then you can evaluate them to obtains concrete atoms, something like this:

    A4Solution sol = ...;
    SafeList<Sig> sigs = sol.getAllReachableSigs();
    for (Sig sig : sigs) {
      SafeList<Field> fields = sig.getFields();
      for (Field field : fields) {
        A4TupleSet ts = (A4TupleSet)(sol.eval(field));
        for(A4Tuple t: ts)
          for(int i=0; i<t.arity(); i++) 
            t.atom(i);
      }
    }
    
    0 讨论(0)
提交回复
热议问题