数学方程式用户输入验证

时间:2019-03-06 06:00:28

标签: c

例如,我有任务检查数学方程:x ^ 3 +(2x-23->需要报告错误并更正x ^ 3 +(2 * x-23)中的错误。

我需要采取适当的逻辑来解决此问题的帮助。

1 个答案:

答案 0 :(得分:-1)

您需要实现一个简单的解析器,才能将等式字符串转换为AST。

第一步是词法分析,将等式字符串转换为标记列表。

下一步是语法分析,您可以编写一个自上而下的解析器来执行此操作。但在此之前,最好使用BNF之类的符号来正式正确地定义方程式语法。

(如果只需要验证它,而不计算最终结果,最好使用第三方库。)