解析自定义类型的数学函数 我将开始开发一个应用程序的子组件,用C++对象的操作数来评估数学函数。这将通过用户界面访问,以提供拖放、适当类型的反馈以及执行按钮
我非常有兴趣使用flex和bison来完成这项工作,在这里和更远的地方,我已经研究了方程解析等。我不确定的是,当你试图用自定义C++类型解析Flex/BySee是合适的吗?很明显,正常的语法分析是用文本进行的,这与我们想要的有很大的不同,所以也看看人们是怎么想的,看看我是不是想把一个方形的钉子放在一个圆形的洞里 你觉得怎么样 编辑解析自定义类型的数学函数 我将开始开发一个应用程序的子组件,用C++对象的操作数来评估数学函数。这将通过用户界面访问,以提供拖放、适当类型的反馈以及执行按钮,c++,architecture,parsing,bison,C++,Architecture,Parsing,Bison,我非常有兴趣使用flex和bison来完成这项工作,在这里和更远的地方,我已经研究了方程解析等。我不确定的是,当你试图用自定义C++类型解析Flex/BySee是合适的吗?很明显,正常的语法分析是用文本进行的,这与我们想要的有很大的不同,所以也看看人们是怎么想的,看看我是不是想把一个方形的钉子放在一个圆形的洞里 你觉得怎么样 编辑 人们在下面提供的链接中有一些非常好的信息来源。一个看起来很有希望但尚未被提及的是Boost.Spirit。今天早些时候我查看了一些示例,如果您下载了boost并感兴趣
人们在下面提供的链接中有一些非常好的信息来源。一个看起来很有希望但尚未被提及的是Boost.Spirit。今天早些时候我查看了一些示例,如果您下载了boost并感兴趣,boost/libs/spirit/examples目录中有一些基于计算器的示例。他们的主页是。对我来说,听起来就像是一个圆孔里的方钉(除非我严重误解了这个问题): Flex将创建一个状态机来标记流,在您的例子中,内容已经标记化了
Bison听起来有点相关,因为它可以处理运算符优先级,但是与它集成会带来太多的痛苦,因为相对较小的好处。请检查Flex和Bison是解析算术表达式、方程等的正确工具 以下是几个例子:
- 。它使用C(而不是C++),但您可以对其进行readapt
- 。将Flex和BiSun集成到一个现代C++程序中的“框架”。以算术计算器为例