【发布时间】:2014-07-12 17:06:56
【问题描述】:
我正在阅读 Muchnick 的“Advanced Compiler Design & Implementation”,其中图 12.6 列出了 20 条转换规则,如果按顺序应用这些规则,则会进行常量折叠和重新关联以将常量移动到一起。规则(省略了分布规则)是(我的语法:c 是文字,t 术语,带有空格的运算符在源代码中,而没有空格的运算符表示编译时计算涉及文字):
他写道“以给定的顺序递归地应用树转换规则 [..]”,但我看不出它是如何工作的。给定((c1 + t1) + t2) + c2,我将如何应用规则才能到达(c1+c2 + t1) + t2 或类似的东西?
(我可以想出一套不同的规则,但我想了解书中的内容,以防我读错了)。
【问题讨论】:
标签: optimization compiler-construction program-transformation