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

1.2.4 中間代碼生成

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

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

例如,對于語法樹:

生成的三地址碼為:

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

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

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

表達式翻譯策略

主站蜘蛛池模板: 沂源县| 连南| 仁布县| 洞头县| 东莞市| 科技| 澜沧| 乐东| 东乡族自治县| 邵阳县| 夏邑县| 攀枝花市| 策勒县| 镇宁| 惠水县| 泗洪县| 洞口县| 延寿县| 自治县| 嘉善县| 永城市| 荆门市| 栖霞市| 措美县| 鄢陵县| 西乌珠穆沁旗| 秦安县| 镇雄县| 盐池县| 定日县| 紫云| 蓝山县| 大宁县| 遵化市| 唐河县| 通山县| 姜堰市| 修水县| 合水县| 观塘区| 库伦旗|