语义分析和中间代码产生.pptVIP

  • 2
  • 0
  • 约7.86千字
  • 约 49页
  • 2023-07-10 发布于广东
  • 举报
第五章语法制导翻译和中间代码产生 * * 文法:P216 1. S → i= E { p= Lookup (i.name); if (p == NULL) error( ); else emit(p’=’E.place } 2. E → E(1) + E(2) { E.place = newtemp( ); emit(E.place’=’E(1).place’+’E(2).place ) } 3. E → E(1) * E(2) { E.place = newtemp( ); emit(E.place’=’E(1).place’*’E(2).place ) } 4. E →(E(1)) { E.place = E(1).place;} 5. E → i { p = Lookup (i.name); if (p != NULL) E.place = p; else error( ); } 第三十页,共四十九页,2022年,8月28日 第五章语法制导翻译和中间代码产生 * * 算术表达式a+b*c翻译到三地址语句的过程: 03 0 $ $a 01 $E 014 $E+ 0143 $E+b -a -a- -a-- 状态栈 符号栈 语义栈 输入串 a+b*c$ +b*c$ +b*c$

文档评论(0)

1亿VIP精品文档

相关文档