在javascript中测试布尔矛盾

时间:2014-10-21 02:46:52

标签: javascript boolean-operations

我需要一个函数来告诉我表示布尔代数表达式的字符串是否矛盾。举一个简单的例子,"A & !A"应该返回...我想,如果函数回答的问题是“这是一个矛盾吗?”,或者如果问题是“这可行吗?”它应该返回false。

显然上面的例子是微不足道的,但我需要一些可以处理像"A & (B|C) & ((!C|D) | E)"这样的疯狂事情的​​东西。所以我想知道这样的函数或库是否已经存在于某处。

这样做的目的是字符串中的变量是标记名称,最后我会将它与javascript对象进行比较,以查看其标记属性是否包含标记,但这些表达式是以编程方式构建的,需要在用于确保它们实际上有可能找到匹配的对象之前进行测试,因为它不是自相矛盾的。

我想我能做到的一种强力方法是eval()每个变量的每个真假组合,看看它们中是否有任何一个返回true,但这是最好的方法吗?

0 个答案:

没有答案