【全國(guó)】 集團(tuán)簡(jiǎn)介 關(guān)注我們
幫學(xué)院 商標(biāo)分類(lèi)表-2024尼斯分類(lèi) 知識(shí)產(chǎn)權(quán)交易

快幫集團(tuán)

代碼的生成

2019-05-13
北京網(wǎng)站建設(shè)里包括了代碼,代碼生成是把語(yǔ)法、語(yǔ)義分析后的中間結(jié)果(中同語(yǔ)言)轉(zhuǎn)換成等價(jià)的目標(biāo)程序或目的程序摸塊的過(guò)程。詞法分析、語(yǔ)法分析和語(yǔ)義分析一起稱為編譯系統(tǒng)的前端.屬于分析部分。代碼生成和碼優(yōu)化一起稱為編譯系統(tǒng)的后端,屬于綜合部分。中間結(jié)果是用三元式、四元式或逆波蘭式等中間語(yǔ)育表示的程序。目標(biāo)程序是用目標(biāo)語(yǔ)言書(shū)寫(xiě)的;可以是機(jī)器語(yǔ)言、匯編語(yǔ)言乃至高級(jí)語(yǔ)言,隨著計(jì)算機(jī)編譯環(huán)境積執(zhí)行環(huán)境的不斷完善,不僅能產(chǎn)生可直接執(zhí)行的目標(biāo)程序,也能生成可再定位或可連接的目標(biāo)程序模塊.并最終通過(guò)連接裝入程序構(gòu)成可直接執(zhí)行的目標(biāo)程序。代碼生成不但與編譯環(huán)境有關(guān).而且與運(yùn)行環(huán)境有關(guān)。所有生成的目標(biāo)程序成當(dāng)符合連接裝入所要求的規(guī)范。代碼生成中存儲(chǔ)分配和寄存器分配是直接影響目標(biāo)程序功效的重要且復(fù)雜的問(wèn)題,應(yīng)給予足夠的重視。
 

運(yùn)行時(shí)存儲(chǔ)空間組織與管理是一個(gè)復(fù)雜而十分重要的問(wèn)題,首先要了解一個(gè)過(guò)程(procedure)靜態(tài)源程序和它的目標(biāo)程序在運(yùn)行時(shí)的活動(dòng)之間的關(guān)系。一個(gè)過(guò)程的活動(dòng)指的是該過(guò)程的一次執(zhí)行。為了管理過(guò)程在一次執(zhí)行中所需要的信息.使用一個(gè)連續(xù)的存儲(chǔ)塊,我們把這樣的一個(gè)連續(xù)存儲(chǔ)塊稱為活動(dòng)記錄。活動(dòng)記錄中記錄臨時(shí)單元、內(nèi)情向量、局部變量、形式單元、靜態(tài)鏈、動(dòng)態(tài)鏈和返回地址。

存儲(chǔ)分田策略有三種:靜態(tài)分配、棧式動(dòng)態(tài)分配和堆式動(dòng)態(tài)分配。棧(stack)是一個(gè)特定的存儲(chǔ)區(qū),它的一端是固定的,另端是浮動(dòng)的.對(duì)這個(gè)存儲(chǔ)區(qū).所有的信息存入也稱為堆陣式堆棧。棧的概念在編譯技術(shù)和其他軟件技術(shù)中被廣泛應(yīng)用。堆(heap)是一個(gè)特定的存儲(chǔ)區(qū).其分配使用方法是先把它成若干個(gè)長(zhǎng)度可變的子存儲(chǔ)區(qū),有些用干存入數(shù)據(jù).有些供自由使用.當(dāng)創(chuàng)建一片數(shù)據(jù)時(shí).便需從自由公用區(qū)中選出一個(gè)足夠大自由區(qū),把該數(shù)據(jù)存人。當(dāng)該數(shù)據(jù)不再箭用時(shí),便釋放相應(yīng)的存區(qū).這佯的存儲(chǔ)分配方式稱為堆式分配。堆式分配適用干理序運(yùn)中長(zhǎng)度可變的數(shù)據(jù).如USP語(yǔ)育中的表等.

代瑪生成時(shí),帝首先考慮奸相應(yīng)干每個(gè)鐐程序或中間捏序的句的目標(biāo)程序結(jié)構(gòu),然后一對(duì)多地轉(zhuǎn)換過(guò)去。其中還可能有些地事先不知道,可先待定,記下位置,拉上蛙,以后知淚了再回綴。為7生成更有效的目標(biāo)代瑪.還有一個(gè)要重點(diǎn)考慮的問(wèn)題是女何更有效地利用寄存器。另外.地址計(jì)算、數(shù)組引用等也都有不同,就不在此逐一敘述。

文章內(nèi)容來(lái)源于網(wǎng)絡(luò),侵刪

常見(jiàn)問(wèn)題

京公網(wǎng)安備 11010802036823號(hào)

   

京ICP備16051929號(hào)

   

增值電信業(yè)務(wù)許可證編號(hào):京B2-20190686

   

專(zhuān)利代理機(jī)構(gòu)代碼:16087

   

人力資源服務(wù)許可證編號(hào):1101082019043

   

代理記賬許可證書(shū)編號(hào):DLJZ11010820210015

0