0

我一直在寻找一种只检查代数表达式是否写得好的方法,但我只找到“如何解决这个问题”或“如何像 Mathematica 一样简化”。

你会看到,我有一个程序,它有一个输入字符串的字段,字符串应该是这样的

“(xa)^2-y+2”

,我必须检查它是否正确,所以如果用户输入如下内容:

  • ")x-4(+1"
  • “X*”
  • “4-9)6”
  • "+*--*7" ...等等,我不得不说这是错误的,然后再试一次。我不需要结果,也不需要评估 x 或任何东西,仅此而已。有谁知道该怎么做?我将不胜感激任何帮助。
4

1 回答 1

0

Mathematica、wxMaxima、Maple 等使用语法树。他们定义一个语法并使用该语法解析表达式。此外,有时会进行一些类型检查。

可以使用 Yacc 或 Bison 生成 Java 解析器。

于 2013-10-07T04:21:53.720 回答