语义分析(semantic analysis)概述
语义分析(semantic analysis)概述原码中通常有两类语句:声明语句和可执行语句.对这两种语句,语义分析所做的事情是不同的.声明语句:收集标识符的属性信息可执行语句:语义检查声明语句中的语义分析收集标识符的属性信息:种属类型地址和长度值作用域参数和返回类型语义分析器中有专门的**符号表(Symbol Table)**来存放收集到的属性信息为什么要有一个字符串表来表示名字,而不是直接使用
·
语义分析(semantic analysis)概述
原码中通常有两类语句:声明语句和可执行语句.对这两种语句,语义分析所做的事情是不同的.
- 声明语句:收集标识符的属性信息
- 可执行语句:语义检查
声明语句中的语义分析
收集标识符的属性信息:
- 种属
- 类型
- 地址和长度
- 值
- 作用域
- 参数和返回类型
语义分析器中有专门的**符号表(Symbol Table)**来存放收集到的属性信息
可执行语句的语义分析
可执行语句的语义分析其实大体可以理解为对可执行语句的语法检查及自动调整.比如:变量名未声明就使用,函数参数不匹配
- 变量或过程未经声明就使用
- 变量或过程重复声明
- 运算分量类型不匹配
明就使用 - 变量或过程重复声明
- 运算分量类型不匹配
- 操作符和操作数之间类型不匹配

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐
所有评论(0)