本文整理汇总了C#中Z3Provider.MkList方法的典型用法代码示例。如果您正苦于以下问题:C# Z3Provider.MkList方法的具体用法?C# Z3Provider.MkList怎么用?C# Z3Provider.MkList使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Z3Provider
的用法示例。
在下文中一共展示了Z3Provider.MkList方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: TestRaise
public void TestRaise()
{
string pgm = @"
program dummy(t) {
return iter(c in t) {
case (c == 'a'):
yield ('A');
case (c == 'b'):
raise B;
case (c == 'x'):
yield ('X');
} end {
case (true):
yield ('x');
};
}";
Z3Provider solver = new Z3Provider();
var stb = BekConverter.BekToSTb(solver, pgm);
//stb.ShowGraph();
var st = stb.ToST();
//st.ShowGraph();
//st.Explore().ShowGraph();
st.AssertTheory();
Expr inputConst1 = solver.MkFreshConst("input1", st.InputSort);
Expr inputConst2 = solver.MkFreshConst("input2", st.InputSort);
Expr inputConst = solver.MkList(inputConst1, inputConst2);
Expr outputConst = solver.MkFreshConst("output", st.OutputListSort);
solver.MainSolver.Assert(st.MkAccept(inputConst, outputConst));
var model = solver.MainSolver.GetModel(solver.True, inputConst, outputConst);
string input = model[inputConst].StringValue;
string output = model[outputConst].StringValue;
Console.WriteLine(input + "," + output);
}