第553章 教學(xué)
而他面前的這些高校尖子生、社招精英們,也是在大夏新科“歷練”工作有不少時(shí)間,甚至大部分人都是老員工,所以在面對(duì)新項(xiàng)目,需要學(xué)習(xí)的時(shí)候,都能夠快速調(diào)整狀態(tài),開(kāi)始學(xué)習(xí)。
頗為寬敞的工作室里面,三十九歲的劉存濤,侃侃而談道:“編譯程序的基本功能是把源程序的高級(jí)語(yǔ)言,翻譯成目標(biāo)程序。
但是,作為一個(gè)具有實(shí)際應(yīng)用價(jià)值的編譯系統(tǒng),除了基本功能之外,還應(yīng)具備語(yǔ)法檢查、調(diào)試措施、修改手段、覆蓋處理、目標(biāo)程序優(yōu)化、不同語(yǔ)言合用以及人-機(jī)聯(lián)系等重要功能。
比如編譯程序必須分析源程序,然后綜合成目標(biāo)程序。
首先,我們需要檢查源程序的正確性,并把它分解成若干基本成分;其次,再根據(jù)這些基本成分建立相應(yīng)等價(jià)的目標(biāo)程序部分……
詞法分析的任務(wù)是對(duì)由字符組成的單詞進(jìn)行處理,從左至右逐個(gè)字符地對(duì)源程序進(jìn)行掃描,產(chǎn)生一個(gè)個(gè)的單詞符號(hào),把作為字符串的源程序改造成為單詞符號(hào)串的中間程序。
這個(gè)執(zhí)行詞法分析的程序稱為詞法分析程序或掃描器……
要注意的是,源程序中的單詞符號(hào)經(jīng)掃描器分析,一般產(chǎn)生二元式。而手工構(gòu)造可使用狀態(tài)圖進(jìn)行工作,自動(dòng)生成則是使用確定的有限自動(dòng)機(jī)來(lái)實(shí)現(xiàn)……”
從語(yǔ)法分析,到中間代碼生成,再到代碼優(yōu)化、目標(biāo)代碼生成,一堂課的時(shí)間,劉存濤就帶著這些學(xué)員進(jìn)行了一個(gè)跨度極大的跨越式綜合瀏覽學(xué)習(xí)。
當(dāng)然,這也只能是對(duì)這些行業(yè)精英,可以使用這種教學(xué)方式,因?yàn)榇蠹叶级恍枰^(guò)于夯實(shí)基礎(chǔ)。
如果是一個(gè)大一新生,哪怕是青木、夏科大這些頂級(jí)高校的大一新生,要是到這個(gè)房間來(lái)聽(tīng)課,僅僅只需要十分鐘,就絕對(duì)會(huì)因?yàn)楦簧线M(jìn)度,而開(kāi)始聽(tīng)天書。
十年樹(shù)木百年樹(shù)人,周瑜培養(yǎng)了這么些年,也才培養(yǎng)出這么一些精英。
劉存濤從早上七點(diǎn),一直講到了晚上十點(diǎn)多鐘。
茶水都喝了好幾大杯,中間的飯菜都是食堂送過(guò)來(lái)的套餐盒飯。
“目標(biāo)代碼生成是編譯的最后一個(gè)階段,但也是我們絕對(duì)不能掉以輕心的關(guān)鍵階段。
目標(biāo)代碼生成器把語(yǔ)法分析后或優(yōu)化后的中間代碼變換成目標(biāo)代碼。目標(biāo)代碼有三種形式,第一種是可以立即執(zhí)行的機(jī)器語(yǔ)言代碼,所有地址都重定位;
第二種是待裝配的機(jī)器語(yǔ)言模塊……還有我們需要重點(diǎn)學(xué)習(xí)的第三種——匯編語(yǔ)言代碼,也就是必須經(jīng)過(guò)匯編程序匯編后,成為可執(zhí)行的機(jī)器語(yǔ)言代碼。