私は最近、ブール式を操作するために、具体的にはJavaでライブラリを作成しました:jbool_expressions。
それはあまりにも、文字列の入力のうちの表現を解析ツールが含まれています
Expression<String> expr = ExprParser.parse("(((! C) | C) & A & B)")
あなたはまた、いくつかの非常に単純な簡素化を行うことができます:あなたが望んでいた場合は
Expression<String> simplified = RuleSet.simplify(expr);
System.out.println(expr);
が
(A & B)
を与えるを代入を実行するには、値を1つずつ割り当てることができます。ここで例えば、
Expression<String> halfAssigned = RuleSet.assign(simplified, Collections.singletonMap("A", true));
System.out.println(halfAssigned);
B
を示し、あなたがB.
Expression<String> resolved = RuleSet.assign(halfAssigned, Collections.singletonMap("B", true));
System.out.println(resolved);
を割り当てることによって、それを解決する可能性は、あなたが何であったか
true
ない100%を示し頼むが、助けてくれることを願う。
クールで、私はすぐに試してみて、私がしようとしていることを受け入れるでしょう。 +1 – javamonkey79
私はいくつかのバグを修正しましたが、全体的な考え方はそこにあります。ありがとう! – javamonkey79