扩充LR分析器的功能
当执行归约产生式的动作时,也执行相应产生式对应的语义动作。由于是归约时执行语义动作,
因此限制语义动作仅能放在产生式右部的最右边;
扩充分析栈
增加一个与分析栈并列的语义栈,用于存放分析栈中文法符号所对应的属性值。
☆ 扩充后的LR分析最适合对综合属性的计算,而对于继承属性的计算还需要进行适当的处理.
2. 中间代码简介
☆ 中间代码应具备的特性
1)便于语法制导翻译
2)既与机器指令的结构相近,又与具体机器无关.
使用中间代码的好处:一是便于编译器程序的开发和移植,二是代码进行优化处理.
☆ 中间代码的主要形式:后缀式、树、三地址码等.最基本的中间代码形式是树;最常用的中间代码形式是三地址码,它的实现形式常采用四元式形式。
☆ 符号表是帮助声明语句实现存储空间分配的重要数据结构。
网站声明:如果转载,请联系本站管理员。否则一切后果自行承担。
添加我为好友,拉您入交流群!
请使用微信扫一扫!