要求实现布尔运算的
吸收率 输入a+a·b 输出a
幂等律 输入a+a 输出a
分配律 输入a·(b+c) 输出ab+ac
输入(a+b)·c 输出ac+bc
最终效果能够实现:
输入: (a+b)·c+a·(c+d)+d
输出:ac+bc+d
输入: (a+b)·(c+d)+c+ab
输出: ab+ad+c+bd
问题已解决 采用类似于学校编写简易计算器的方法 不同的是如何 提取字符串需要区别
我觉得可以重载+和*运算符
+:a+a=a
a+b=a+b=b+a
a+a*b=a
这个需要词法分析,然后得到析取范式合取范式再化简。