官术网_书友最值得收藏!

1.2.4 中間代碼生成

在編譯的過程中會生成多種中間表示形式,如語法樹、詞法單元流等,不同的中間表示形式可滿足編譯各任務(wù)的需要,比如語法分析樹有利于在編譯過程中進行靜態(tài)檢查。

在完成語義分析后,編譯器前端的工作告一段落。編譯器將語法分析樹轉(zhuǎn)化為更適合代碼優(yōu)化及目標(biāo)代碼生成的形式,這一過程被稱為中間代碼生成。我們關(guān)注一種中間表達形式:三地址碼,每個指令具有不多于三個的運算分量,這種形式與機器碼中寄存器的讀取和計算類似。

例如,對于語法樹:

生成的三地址碼為:

中間代碼生成器按照表達式的執(zhí)行順序(后序遍歷語法樹),將語法樹轉(zhuǎn)化為中間代碼。在第4章中,我們將討論以下內(nèi)容:

中間代碼的表示形式,不同的中間代碼表示形式及其優(yōu)劣。

類型和聲明的相關(guān)概念(例如,類型表達式、類型等價、局部變量名的存儲布局、類型聲明和類型記錄等表達式的生成)。

表達式翻譯策略

主站蜘蛛池模板: 隆林| 巴里| 永顺县| 博罗县| 甘孜| 周宁县| 香河县| 平遥县| 宁津县| 曲松县| 固安县| 锦州市| 贵溪市| 平南县| 静宁县| 青龙| 太仆寺旗| 安吉县| 连江县| 密山市| 涿鹿县| 军事| 威信县| 西贡区| 安岳县| 安阳市| 连城县| 龙岩市| 南开区| 池州市| 财经| 城口县| 扬州市| 合水县| 安庆市| 大宁县| 改则县| 洛阳市| 米林县| 马边| 洪泽县|