如何使用Flex / Bison解决算术表达式

时间:2018-11-26 21:04:24

标签: c optimization bison lex

我正在研究一个学校项目,以优化C代码,其中的要求之一是就地解决算术表达式并替换常量(#define)。

从理论上讲,我认为先替换常量然后求解算术表达式可能会更容易。 (如果某些常量是算术表达式)

但是我不能将代码(我的编译器老师也不能)编写到可以识别算术表达式并对其求解的解析器中。

如果有人可以提供任何指示(没有双关语),那么我们正在使用Flex&Bison。

1 个答案:

答案 0 :(得分:1)

enter image description here我对求解算术表达式的建议是将堆栈与Dijkstra算法一起使用 Shunting-yard_algorithm。 或者,您也可以使用二叉树。BinaryTree