如何检查代数表达式的语法错误

时间:2013-10-07 04:19:10

标签: java syntax algebra

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

你会看到,我有一个带有字段的程序来输入一个字符串,该字符串应该类似于

  

“(X-A)^ 2-Y + 2”

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

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

1 个答案:

答案 0 :(得分:0)

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

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