【发布时间】:2012-08-26 21:35:10
【问题描述】:
我想制作一个Java程序来帮助人们学习基本的离散数学(也就是说,检查语句的真值)。为此,我需要能够检测用户输入了多少变量、有哪些运算符以及有哪些量词(如果有的话)(∃ 和 ∀)。 是否有一个很好的算法可以完成所有这些事情?
你知道,我不只是想要一个结果;我想完全控制他们的输入,这样我就可以向他们展示合乎逻辑的证据。 (所以像将它传递给 JavaScript 这样的操作是行不通的)。
【问题讨论】:
-
你要找的不是算法,而是语法。之后,您使用语法生成带有 jyacc 或类似的解析器。我会用谷歌搜索语法或在 math.stackexchange.com 中询问
-
你基本上是在寻找一个简化的计算机代数系统的特征。正如@SJuan76 所说,解决方案将取决于您的语法。
-
别忘了哥德尔定理! :-P
-
查看Wolfram Alpha - 他们确实花了数百万行代码来实现您想要的......
-
我的祖母不太可能将一阶逻辑方程输入到 Java 程序中......
标签: java regex algorithm parsing discrete-mathematics