【编译原理大作业】Tiny+的三地址码
咕得有点久了 这是编译原理大作业的第二步:进行语义分析,生成三地址码。 三地址码是一种平台无关的中间代码(类似汇编,但没到 x86、MIPS 那么具体),特点是:1、变量和 label 无需换成具体的地址,能区分清楚就行(例如嵌套作用域的同名变量要区分开);2、寄存器无限量,不需要考虑有限的寄存器池;3、没有关于 CPU、操作系统的对接细节。这还是一个比较中间层次的东西,要生成具体的可执行代码时,不同平台可以直接拿三地址码来翻译。 有了上一步的语法树之后,这一部分就不需要额外的工具了,