[待完成...]
前期准备
参考:
编译器中的符号表
C++ Program to implement Symbol Table
在flex&bison的基础上利用符号表进行语义分析
1. 符号表设计
设计思路:
符号表应该包括:变量符号表
、函数符号表
、数组符号表
、结构体符号表
(1) 变量符号表应该包括:类型
、变量名
、作用域
、指针
(之前我觉得应该使用union保存值,现在认为并不需要保存)
(2) 函数符号表应该包括:函数名
、函数类型
、返回值类型
、形参个数
、指针
(考虑函数指针)
(3) 数组符号表应该包括:数组名
、数组类型
、指针
(4) 结构体符号表应该包括:结构体名
、指针
,以及用一个变量符号表链表
来保存结构体成员变量。
网友评论