语义分析和中间代码产生课件.pptxVIP

  • 1
  • 0
  • 约6.99千字
  • 约 123页
  • 2026-06-26 发布于山东
  • 举报

語義分析和中間代碼產生;;中間語言

獨立於機器

複雜性界於源語言和目標語言之間

引入中間語言的好處:

便於進行與機器無關的代碼優化工作

易於移植

使編譯程序的結構在邏輯上更為簡單明確;常用的中間語言:

尾碼式,又叫逆波蘭表示

圖表示:DAG圖、抽象語法樹

三地址代碼

三元式

四元式

間接三元式;7.1.1尾碼式;逆波蘭表示法不用括弧。只要知道每個算符的目數,對於尾碼式,不論從哪一端進行掃描,都能對它進行唯一分解。

尾碼式的計算

用一個棧實現。

一般的計算過程是:自左至右掃描尾碼式,每碰到運算量就把它推進棧。每碰到k目運算符就把它作用於棧頂的k個項,並用運算結果代替這k個項。;把運算式翻譯成尾碼式的語義規則描述;7.1.2圖表示法;7.1.2圖表示法;a+a*(b-c)+(b-c)*d的DAG;a:=b*(-c)+b*(-c)的圖表示法;抽象語法樹對應的代碼:

T1:=-c

T2:=b*T1

T3:=-c

T4:=b*T3

T5:=T2+T4

a:=T5

;DAG對應的代碼:

T1:=-c

T2:=b*T1

T5:=T2+T2

a:=T5

;7.1.3三地址代碼;a:=b*(-c)+b*(-c)的圖表示法;相應於a:=b*(-c)+b*(-c)抽象語法樹與DAG的三地址碼;三地址語句的種類;三地址語

文档评论(0)

1亿VIP精品文档

相关文档