Compiler construction 如何为具有嵌套函数的语言设计中间表示?
我正在为带有嵌套函数的语言编写编译器 我决定使用display从内部函数访问外部函数的局部变量,我不知道如何表示将激活记录写入中间表示的display数组,因为要做到这一点,我需要访问堆栈指针寄存器,它依赖于机器 还有另一种解决方案,我可以将这一步推迟到编译的最后阶段,即机器依赖的翻译,而不是将激活记录的编写转换为中间表示 所以,我的问题是:Compiler construction 如何为具有嵌套函数的语言设计中间表示?,compiler-construction,intermediate-language,compiler-development,Compiler Construction,Intermediate Language,Compiler Development,我正在为带有嵌套函数的语言编写编译器 我决定使用display从内部函数访问外部函数的局部变量,我不知道如何表示将激活记录写入中间表示的display数组,因为要做到这一点,我需要访问堆栈指针寄存器,它依赖于机器 还有另一种解决方案,我可以将这一步推迟到编译的最后阶段,即机器依赖的翻译,而不是将激活记录的编写转换为中间表示 所以,我的问题是: 哪种解决方案更好,如果是第一种,如何表示将激活记录写入中间表示的数组?我认为您应该使用第二种。我认为您应该使用第二种。
哪种解决方案更好,如果是第一种,如何表示将激活记录写入中间表示的数组?我认为您应该使用第二种。我认为您应该使用第二种。