我正在一个学校项目中优化C代码,除其他要求外,要求是就地求解算术表达式并替换常量(#define)。
从理论上讲,我认为先替换常量然后求解算术表达式可能会更容易。 (如果某些常量是算术表达式)
但是我不能将代码(我的编译器老师也不能)编写到可以识别算术表达式并对其求解的解析器中。
如果有人可以提供任何指示(没有双关语),我们将使用Flex&Bison,这将是一个很好的选择。
最佳答案
我对求解算术表达式的建议是将堆栈与Dijkstra算法一起使用
Shunting-yard_algorithm。
或者,您也可以使用二叉树。BinaryTree
关于c - 如何使用Flex/Bison解决算术表达式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53489038/