分离出每一个被声明的实体,并把它们的名字填入符号表中
把被声明实体的有关特性信息尽可能多地填入符号表中
检查对所声明的实体引用(种类,类型等)是否正确
根据实体的特征信息,例如类型,所分配的目标代码地址(可能为数据区单元地址,或目标程序入口地址)生成相应的目标代码
类似于文法中加入动作符号进行变量的引用/运行时语义检查。
例如:
分析表达式的主要目的是生成计算该表达式值的代码。通常的做法是把表达式中的操作数装载(LOAD)到操作数栈(或运行栈)栈顶单元或某个寄存器中,然后执行表达式所指定的操作,而操作的结果保留在栈顶或寄存器中。比如