语义分析(1)...

生成了抽象语法树, 接着就来进行语义分析...语义分析的任务如下图:

一个比较简单的类型检查算法可以是这样的 :

加上id之后可以是这样的:

这里就引出了符号表的概念 :

同时符号表还应该满足程序中作用域的概念, 实现作用域的方法如下:

同时符号表还应该解决名字空间的问题, 可以看到图中多次出现list, 但实际编译器仍然应该能够正常运行 :

实现方案可以如下:

原文地址:https://www.cnblogs.com/nzhl/p/5537173.html