寄存器传输语言(register transfer language; RTL),理学-计算机科学技术-计算机软件-系统软件-编译系统,编译过程中一种基于无限数目寄存器的低层次中间表示。RTL可表征许多低层次特征,例如寄存器类型、内存寻址模式、字的大小和类型、比较和分支指令、调用约定、位操作等,因此编译后端的大量工作依赖RTL完成,包括低层次的循环优化、指令调度、寄存器分配、窥孔优化等。作为一种中间表示,RTL广泛应用于包括GCC、Zephye、CerCo和CompCert在内的各种编译器。以GCC为例,RTL位于编译过程的中端,编译前端首先将源程序转换为抽象语法树(AST),编译中端将AST转换为中间表示GIMPLE,再将GIMPLE转换为RTL,最后编译后端基于RTL生成汇编语言。RTL的结构类似于Lisp列表与C语言的结合。在RTL中,指令几乎是一个接一个地以代数形式输出。RTL包括两种形式:一种是内部形式,由指向其他结构的结构来构成;另一种是文本形式,用在机器描述和打印调试输出中。文本形式使用嵌套的圆括号来表示内部形式中的结构。