假如在赋值语句sum∶=first+count*10中,算符*的两个运算对象分别是count和10,而count是实型变量,10是整型量.语义分析阶段进行类型审查之后,将整型量提升为实型量.在语法分析所得到的分析树上增加一个一目算符结点,这个结点的名称为inttoreal,表示进行将整型量变成实型量的语义处理,那么,
图1.5
的树变成
图1.6
所示的那样。
图1.6 插入语义处理结点的树
我们来总结一下
语义分析主要的任务
----
完成静态语义审查和处理
上下文相关性审查
类型匹配审查
类型转换