解析方程式

时间:2013-03-14 18:43:53

标签: c

我想问一下有人可以帮我解决我的问题。

我必须将任意等式解析为变量和数字。

等式将采用"y1 + y2 + ... + y10"形式。

示例:"y1 + 2 y2 + 3y3 + y3 + 3 + 5 + 10 = y4 + 4"

可以有随机数量的空格。 “y1”不是1 * y。它是y,索引为1。

我正在考虑使用strchar(string," ")并以这种方式解析它,但它可以没有空格,所以也许可以在char之后读取char,但后来我不知道怎么做像{{1}这样的方程式},也许如果我考虑获取第一个字符,然后读取下一个字符"3 y2",然后取下一个字符,看看它是变量还是“+”。我不需要它的源代码,我没有提示。

1 个答案:

答案 0 :(得分:0)

我建议您执行Google搜索“C解析库”。这是一个看起来很有趣的:

http://warp.povusers.org/FunctionParser/

嗯,那个人实际上是C ++ ......如果你真的想要C,还有其他人。

您不是第一个遇到此问题的人,并且有解决它的库。

你也可以使用Flex和Bison。这是一个教程。

http://gnuu.org/2009/09/18/writing-your-own-toy-compiler/