...所说,我用Tcl语言写了一个Tcl宏处理系统,这个系统能够进行足够复杂的源码级的变换实现尾部调用优化(tail call optimization)。同时,Tcl语法能够变化成Algol一样,这取决于你的编程风格。
基于20个网页-相关网页
在尾部调用之后除去栈结构的方法称为 尾部调用优化。
The idea of removing stack frames after tail-calls is called tail-call optimization.
惟一的问题在于,现在只有非常少的编译器实现了尾部调用优化。
The only problem is that right now very few compilers implement tail-call optimizations.
例如,前面描述的 print_report_i 函数在 GCC 3.4 中使用 -O2 进行尾部调用优化编译, 因此运行时使用的栈的大小是固定的,而不是线性增长的。
For example, the print_report_i function described earlier compiled with tail-call optimization using -O2 on GCC 3.4 and therefore runs with a stack-size that is constant, not growing linearly.
应用推荐