【導(dǎo)讀】名字的作用域分析。中間語(yǔ)言(復(fù)雜性界于源語(yǔ)言和目標(biāo)語(yǔ)言。便于進(jìn)行與機(jī)器無(wú)關(guān)的代碼優(yōu)化工作。使編譯程序的結(jié)構(gòu)在邏輯上更為簡(jiǎn)單明確。后綴式,逆波蘭表示。示表達(dá)式的方法,又稱(chēng)逆波蘭表示法。分別為E1和E2的后綴式。逆波蘭表示法不用括號(hào)。端進(jìn)行掃描,都能對(duì)它進(jìn)行唯一分解。一般的計(jì)算過(guò)程是:自左至右掃描后綴式,每碰到運(yùn)算量就把它推進(jìn)棧。結(jié)果代替這k個(gè)項(xiàng)。把表達(dá)式翻譯成后綴式的語(yǔ)義規(guī)則描述。op表示任意二元操作符。“||”表示后綴形式的連接。數(shù)組POST存放后綴式:k為下標(biāo),初值為1. 上述語(yǔ)義動(dòng)作可實(shí)現(xiàn)為:。在一個(gè)DAG中代表公共子表達(dá)式的結(jié)點(diǎn)具有多個(gè)。三地址代碼可以看成是抽象語(yǔ)法樹(shù)或DAG的一種。對(duì)表達(dá)式E求值并置于變量T中值。函數(shù)newtemp的功能是,每次調(diào)用它時(shí),將返。體實(shí)現(xiàn)可用記錄表示.通常有三種表示方法:四元式、三元式、間接三元式。一個(gè)帶有四個(gè)域的記錄結(jié)構(gòu),這四個(gè)域分別稱(chēng)為op,arg1,arg2及result