勵志

勵志人生知識庫

四元式

四元式是一種中間代碼形式,其一般形式為 (op,arg1,arg2,result),具體含義如下:

op:表示一個運算符,可以是二元、一元或零元運算符。

arg1, arg2:分別表示運算符的兩個運算對象,可以是變數、常數或系統定義的臨時變數名。

result:表示運算的結果,將放入result中。

四元式還可以寫為類似於PASCAL語言賦值語句的形式:result ∶= arg1 op arg2。需要注意的是,每個四元式只能有一個運算符,因此一個複雜的表達式需要由多個四元式構成的序列來表示。例如,表達式A+B*C可以表示為序列T1∶=B*C T2∶=A+T1,其中T1,T2是編譯系統所產生的臨時變數名。

當op為一元、零元運算符(如無條件轉移)時,arg2甚至arg1可以預設,即result∶=op arg1或op result;對應的一般形式為:(op,arg1,,result)或(op,,,result)。在實際產生的四元式中,op往往用一整型數表示(操作符的代碼),它可能附帶有不止一種屬性。至於四元式中運算對象arg1、arg2和結果域result,它們可以是指向符號表中某項的指示字,也可以是某個臨時變數的序號。

四元式的出現順序和語法成份的計值順序相一致,四元式之間的聯繫是通過臨時變數實現的,這樣易於調整和變動四元式,便於最佳化處理。