kon*_*jac 7 c++ compiler-construction algorithm code-generation
我正在尝试在编译器中优化表达式评估.
算术表达式都是C风格的,它们可能包含变量.我希望尽可能地简化表达式.
例如,(3+100*A*B+100)*3+100可以简化为409+300*A*B.
(3+100*A*B+100)*3+100
409+300*A*B
它主要取决于分配法,联想法和交换法.
我遇到的主要困难是如何结合这些算术规律和传统的堆栈扫描评估算法.
任何人都可以在编译器构建的上下文中分享与此或类似问题相关的经验吗?
Pek*_*kka 1
在编译的代码生成过程中应用恒定折叠和强度降低相结合。大多数编译器文本都会提供一种算法来实现这一点。
归档时间:
12 年,8 月 前
查看次数:
370 次
最近记录:
12 年,6 月 前