代码优化:
因为抽象语法树中可能包括错误,因此不能在抽象语法树阶段进行优化。
函数式的优化:输入一个抽象语法树,输出一个抽象语法树:
在循环中,如果E仍在缩小,就持续常量折叠。
本来预期是异常,但是优化之后,如果不报异常了,那也是错误的。
中间代码优化
这个与单纯的语法制导翻译不同,是结合上下文的。
即如果变量在后面不会用到,就可以将这代码优化掉。
代码优化:
因为抽象语法树中可能包括错误,因此不能在抽象语法树阶段进行优化。
函数式的优化:输入一个抽象语法树,输出一个抽象语法树:
在循环中,如果E仍在缩小,就持续常量折叠。
本来预期是异常,但是优化之后,如果不报异常了,那也是错误的。
中间代码优化
这个与单纯的语法制导翻译不同,是结合上下文的。
即如果变量在后面不会用到,就可以将这代码优化掉。