我在字符串格式(在Java中)中有不同的表达式,例如:
String expression = "IN G1 AND OUT G1 AND (IN G2 OR OUT G3)
这里G1,G2,G3表示区域,关键字只有IN,AND,OUT,OR,(,)可以使用。 我必须检查表达式是否在逻辑上正确,并且想要简化这些类型的表达式。
这里表达的意思是,一个东西位于G1中,它应该是外部G1(这在逻辑上是不可能的)并且它应该位于G2中或它应该在G4之外。
现在我想要一个算法,我可以从中检测到该表达式在逻辑上是不正确的,因为没有可能满足 IN G1 AND OUT G1 (如类似情况)。
表达式可以嵌套在任何级别。请以任何方式指导我如何检测这些类型的表达式的逻辑正确性,如果表达式不合逻辑,则会将表达式减少到某种程度。
我知道这是一个有点棘手的算法,但是对此有任何帮助都很受欢迎。在此先感谢