導航:首頁 > 源碼編譯 > 為什麼修改出口無法編譯

為什麼修改出口無法編譯

發布時間:2024-09-23 07:50:31

編譯原理 四元式

四元式是一種比較普遍採用的中間代碼形式。

代碼段的四元式表達式:

101 T:=0 (表達式為假的出口)

103 T:=1 (表達式為真的出口)

因為用戶的表達式只有一個A<B,因此A<B的真假出口就是表達式的真假出口,所以

100: if a<b goto 103 (a<b為真,跳到真出口103)

101: T:=0(否則,進入假出口)

102: goto 104 (要跳過真出口,否則T的值不就又進入真出口了,為真)

103: T:=1

104:(程序繼續執行)

(1)為什麼修改出口無法編譯擴展閱讀:

四元式是一種更接近目標代碼的中間代碼形式。由於這種形式的中間代碼便於優化處理,因此,在目前許多編譯程序中得到了廣泛的應用。

四元式實際上是一種「三地址語句」的等價表示。它的一般形式為:

(op,arg1,arg2,result)

其中, op為一個二元 (也可是一元或零元)運算符;arg1,arg2分別為它的兩個運算 (或操作)對象,它們可以是變數、常數或系統定義的臨時變數名;運算的結果將放入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)

閱讀全文

與為什麼修改出口無法編譯相關的資料

熱點內容
伺服器埠號叫什麼 瀏覽:644
高性能平台編譯優化技術 瀏覽:732
舊熱水器安裝需要解壓嗎 瀏覽:46
解壓自我調整教程 瀏覽:601
伺服器硬碟怎麼拷貝到其他硬碟 瀏覽:327
程序員考試偏文科還是理科 瀏覽:121
go介面加密 瀏覽:715
演算法類上市公司 瀏覽:490
android程序員進階 瀏覽:366
數據結構是演算法嗎 瀏覽:347
計算機項目未編譯 瀏覽:575
go程序員開發 瀏覽:461
狼人殺app哪個可以觀戰 瀏覽:127
藍牙通信加密 瀏覽:528
android水平listview 瀏覽:993
程序員美國達人秀 瀏覽:851
表格裡面有部分加密如何解開 瀏覽:889
編程內功心法 瀏覽:689
瘦身視頻app哪個好用 瀏覽:272
為什麼修改出口無法編譯 瀏覽:681