999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

淺析編譯原理中編譯工作的基本流程及其實現(xiàn)

2019-03-30 03:30:00王佳林張美玲高涵
中國新通信 2019年24期

王佳林 張美玲 高涵

【摘要】? ? 編譯原理是研究如何將各種編程語言轉(zhuǎn)換為機器語言的一門科學。本文主要介紹了編譯原理中編譯工作的基本流程,以及各個流程在整個編譯工作過程中起到的作用,同時本文對編譯工作在實際的應(yīng)用中是如何實現(xiàn)的這一問題進行了探討。

【關(guān)鍵詞】? ? 編譯技術(shù)? ? 機器語言? ? 詞法分析? ? 語法分析

一、編譯技術(shù)的產(chǎn)生

最早期的計算機編程是用機器語言編程,這種直接跟計算機硬件進行信息溝通的方式有很大的局限性。雖然機器語言能夠被計算機硬件直接識別并執(zhí)行,具有靈活速度快的特點,但是機器語言對編程人員的要求門檻太高,它不容易被理解接受,并且記憶困難,極易出錯。編程人員使用機器語言編程往往要花費大量的時間和精力在編寫程序上,這大大影響了編程效率。為了提高程序的編寫效率,增強程序的可讀性,匯編語言和高級語言隨著科技的發(fā)展?jié)u漸出現(xiàn)。匯編語言較為基礎(chǔ),是高級語言形成過程中的中間產(chǎn)物。高級語言封裝性更強,在操作上更加簡便,在編寫和理解上也有更好的可讀性。高級語言和匯編語言都需要進行加工才能被計算機識別,這就需要一個能將這些指令轉(zhuǎn)化成機器指令的翻譯程序——編譯器。因為計算機能夠識別的只有二進制代碼,如何讓計算機識別并執(zhí)行這些語言呢,這就是編譯原理所要研究的問題。

二、編譯的基本流程

(一)詞法分析階段。首先是詞法分析階段。在詞法分析階段中源程序按照從左到右的順序被依次掃描,掃描過程中源程序的字符流會按照規(guī)定好的構(gòu)詞規(guī)則被識別成單詞符號,這一工作由詞法分析程序完成。此外,在詞法分析階段,詞法分析器除了能完成單詞符號的識別工作,還能夠?qū)Τ绦蛑械囊恍┬畔⑦M行過濾,同時詞法分析程序可以將編譯時產(chǎn)生的錯誤信息對應(yīng)到源程序的具體位置,便于程序修改。(二)語法分析階段。在語法分析階段,語法分析程序會將詞法分析中產(chǎn)生的單詞序列劃分成各類語法短語,并對源程序的結(jié)構(gòu)進行正確性的判斷,檢查源程序中是否存在語法錯誤。根據(jù)語法分析中采用的方法的不同,語法分析在具體實現(xiàn)時又分為好多方法,其中每一種方法都有各自的適用情況和特點。(三)語義分析和中間代碼產(chǎn)生階段。在語義分析和中間代碼生成階段中,首先要進行的是語義分析工作。顧名思義語義分析主要進行語義審查,編譯器會審查程序中語法結(jié)構(gòu)的靜態(tài)語義。程序中可能存在一些語法正確但是在規(guī)定限制下沒有意義的語句。語義分析的分析范圍有確定類型、類型檢查等。在完成語義分析并且分析無誤后,進入中間代碼產(chǎn)生階段,生成中間代碼,根據(jù)實際情況的不同中間代碼又分為逆波蘭式、三元式、四元式等形式,這些都是在具體程序內(nèi)部涉及到的內(nèi)容。(四)優(yōu)化。所謂中間代碼優(yōu)化指的是在不改變源程序運行結(jié)果的前提下,對中間代碼或目標代碼進行等價替換。優(yōu)化后所產(chǎn)生的目標代碼運行時間更短,占用空間更小、效率更加高效。在整個編譯過程中都可以增加優(yōu)化過程,但最突出的還是體現(xiàn)在中間代碼的優(yōu)化上。(五)目標代碼生成。目標代碼生成是編譯的最后一個階段,在這一階段中,主要完成的任務(wù)是將前面產(chǎn)生的中間代碼轉(zhuǎn)化成特定機器上的機器語言或匯編語言。因為計算機只能識別機器語言,如果生成的目標代碼是匯編語言的形式,要將匯編代碼再轉(zhuǎn)化成機器代碼才能讓計算機運行。

三、編譯的實現(xiàn)

(一)預處理。預處理是指在對源程序進行編譯之前,要對程序中的一些特殊命令進行處理的工作。c語言中,編譯預處理命令以#開頭,這些預處理的命令被預處理程序處理替換后由編譯程序進行進一步加工。以c語言為例,編譯預處理有宏定義、文件包含、條件編譯等,程序人員編寫的*.c源程序文件經(jīng)過預處理程序處理后,隨后進入編譯程序進行編譯最后生成目標程序*.obj。編譯預處理完成了標識符的替代工作,為編譯的順利進行打下基礎(chǔ)。(二)編譯。在編譯階段中對經(jīng)過了預處理的源文件進行一連串的編譯工作,包括詞法分析,語法分析,語義分析以及優(yōu)化等操作,最后生成相應(yīng)的匯編代碼。編譯是通過編譯器實現(xiàn)的,在編譯器中會進行上述一系列的操作。(三)匯編。匯編工作由匯編器實現(xiàn),匯編器負責匯編代碼向機器代碼的轉(zhuǎn)化工作,根據(jù)匯編指令和機器指令的對應(yīng)關(guān)系表,將匯編代碼轉(zhuǎn)化成可執(zhí)行文件,只有轉(zhuǎn)化成計算機能夠識別的二進制代碼,才可以交給計算機執(zhí)行。(四)鏈接。最后就是鏈接操作,雖然在匯編階段源程序已經(jīng)轉(zhuǎn)化成了計算機能夠識別的二進制代碼的形式,但是還要完成一些其他工作。因為在源程序中可能引用了其他頭文件中的函數(shù),或者調(diào)用了其他庫中已有的函數(shù),只有將這些全部鏈接在一起,才能保證程序的正確執(zhí)行,這就是鏈接操作。很多時候開發(fā)人員不用自己去實現(xiàn)一些函數(shù),而可以直接調(diào)用現(xiàn)有庫中的函數(shù),既節(jié)省了時間,又可以減小出錯率。鏈接技術(shù)的實現(xiàn)大大降低了代碼的復寫率,提高了程序的開發(fā)效率。

結(jié)語:編譯技術(shù)像是在高級語言和計算機硬件系統(tǒng)之間架起了一座橋梁,它將高級語言進行編譯處理使其能夠在計算機上執(zhí)行。自從有了編譯技術(shù),程序編寫的效率明顯提升,計算機編程的門檻大大降低,使得更多的學者能夠投身于計算機編程領(lǐng)域。可以說編譯技術(shù)是計算機領(lǐng)域中的核心技術(shù),研究編譯技術(shù)對計算機技術(shù)的發(fā)展有著重要意義。

參? 考? 文? 獻

[1]徐紅,陸紅陽.編譯原理實驗動態(tài)演示系統(tǒng)的設(shè)計與實現(xiàn)[J].電腦知識與技術(shù),2005(27):86-88.

主站蜘蛛池模板: 亚洲人成色在线观看| 久久精品无码国产一区二区三区| 亚洲 欧美 中文 AⅤ在线视频| 波多野结衣视频网站| 成人在线亚洲| 97超级碰碰碰碰精品| 激情無極限的亚洲一区免费| 亚洲永久色| 色网站免费在线观看| 国产二级毛片| 国产成人精品三级| 精品国产美女福到在线不卡f| 国产精品香蕉| 国模极品一区二区三区| 丁香婷婷综合激情| 91国语视频| 美女潮喷出白浆在线观看视频| 高清无码手机在线观看| 欧美另类精品一区二区三区| 22sihu国产精品视频影视资讯| 亚洲日本一本dvd高清| 思思热精品在线8| 国产精品视频第一专区| 国产在线高清一级毛片| 久久黄色免费电影| 欧美日本二区| 精品国产自在在线在线观看| 国产美女主播一级成人毛片| 久草热视频在线| 国产成a人片在线播放| 亚洲国产成熟视频在线多多| 91精品人妻互换| 美女国产在线| 国产日韩精品一区在线不卡| 999国内精品视频免费| 国产色伊人| 有专无码视频| 人妻丝袜无码视频| 国产一区亚洲一区| 成人在线观看一区| 国产18页| 亚洲 日韩 激情 无码 中出| 中文字幕在线看| 国产不卡网| 福利视频一区| 国产一在线观看| 国产自在线播放| 成人年鲁鲁在线观看视频| 91视频99| 久热99这里只有精品视频6| 国产精品美女免费视频大全| 青青草综合网| 香蕉在线视频网站| 国产黄色片在线看| 国内精品一区二区在线观看| 免费无码网站| 欧美国产综合视频| 91成人在线观看视频| 欧美一级在线| 中文字幕第4页| 国产网友愉拍精品| 五月天在线网站| 又爽又黄又无遮挡网站| 99草精品视频| 国产成人禁片在线观看| 国产欧美高清| 精品国产成人av免费| 国产日韩欧美一区二区三区在线| 亚洲伊人天堂| 国产精品黑色丝袜的老师| 专干老肥熟女视频网站| 日本不卡视频在线| 欧美成人亚洲综合精品欧美激情| 久久国产V一级毛多内射| 激情无码字幕综合| 欧美一级高清免费a| 久久99蜜桃精品久久久久小说| 国产精品欧美在线观看| 国产国拍精品视频免费看 | 亚洲另类色| 国产麻豆aⅴ精品无码| 亚洲欧美日韩另类|