2009-12-17 84 views
0

在编译器类中,我们为编译语言构建了一个解析器,该语言是C的简化版本。解析器所做的就是根据输入和出口制作符号表如果语法不正确,会显示错误消息。现在我们需要输入用这种语言编写的输入文件,并将其转换为mips代码(实际上spim代码是mips for linux。)为什么需要符号表?它可以在没有符号表的情况下完成吗?符号表如何有助于将一种语言翻译为另一种语言

回答

2

符号表将告诉编译器的任何进一步传递是否任何给定的名称是(例如)类型的名称,函数的名称,变量的名称等等。如果不知道那么你将C翻译成汇编代码(或任何其他实质性操作),那么?!考虑一下,例如X * Y; - 这是乘以X乘以Y还是说Y是一个指向X的指针?你需要知道X是否命名了一个类型,以消除这个问题 - 除了符号表之外,还有什么可以告诉你的?

相关问题