中文字幕亚洲欧美日韩在线不卡,亚洲欧美日产综合在线网性色,思思久久精品6一本打道,综合视频中文字幕

    <sub id="dxmnt"><ol id="dxmnt"></ol></sub>

      1. 能將高級語言轉換成目標程序的是

        更新時間:2022-09-17 10:45:51作者:智慧百科

        能將高級語言轉換成目標程序的是

        品牌型號:聯(lián)想拯救者Y9000P
        系統(tǒng):Windows 11

        能將高級語言轉換成目標程序的是

        能將高級語言轉換成目標程序的是編譯程序。由高級語言編寫的程序稱為“源程序”,由二進制代碼表示的程序稱為“目標程序”,而把源程序轉換成機器能夠識別的目標程序是由“編譯程序”完成的。編譯程序是將整個高級語言編寫的源程序先翻譯成機器語言程序,然后再生成可在操作系統(tǒng)下直接運行的目標程序。

        編譯程序(Compiler,compiling program),也稱為編譯器,是指把用高級程序設計語言書寫的源程序,翻譯成等價的機器語言格式目標程序的翻譯程序。編譯程序屬于采用生成性實現(xiàn)途徑實現(xiàn)的翻譯程序。它以高級程序設計語言書寫的源程序作為輸入,而以匯編語言或機器語言表示的目標程序作為輸出。編譯出的目標程序通常還要經(jīng)歷運行階段,以便在運行程序的支持下運行,加工初始數(shù)據(jù),算出所需的計算結果。

        編譯程序已作為實現(xiàn)編程的重要軟件工具,被納入到軟件支援環(huán)境的基本層軟件工具之中。因此,規(guī)劃編譯程序實現(xiàn)方案時,應從所處的具體軟件支援環(huán)境出發(fā),既要遵循整個環(huán)境的全局性要求和規(guī)定,又要精心考慮與其他諸層軟件 工具之間的相互支援、配合和銜接關系。

        編譯程序把一個源程序翻譯成目標程序的工作過程分為五個階段:詞法分析;語法分析;中間代碼生成;代碼優(yōu)化;目標代碼生成。主要是進行詞法分析和語法分析,又稱為源程序分析,分析過程中發(fā)現(xiàn)有語法錯誤,給出提示信息。

        1、詞法分析。詞法分析的任務是對由字符組成的單詞進行處理,從左至右逐個字符地對源程序進行掃描,產(chǎn)生一個個的單詞符號,把作為字符串的源程序改造成為單詞符號串的中間程序。執(zhí)行詞法分析的程序稱為詞法分析程序或掃描器。

        源程序中的單詞符號經(jīng)掃描器分析,一般產(chǎn)生二元式:單詞種別;單詞自身的值。單詞種別通常用整數(shù)編碼,如果一個種別只含一個單詞符號,那么對這個單詞符號,種別編碼就完全代表它自身的值了。若一個種別含有許多個單詞符號,那么,對于它的每個單詞符號,除了給出種別編碼以外,還應給出自身的值。詞法分析器一般來說有兩種方法構造:手工構造和自動生成。手工構造可使用狀態(tài)圖進行工作,自動生成使用確定的有限自動機來實現(xiàn)。

        2、語法分析。編譯程序的語法分析器以單詞符號作為輸入,分析單詞符號串是否形成符合語法規(guī)則的語法單位,如表達式、賦值、循環(huán)等,最后看是否構成一個符合要求的程序,按該語言使用的語法規(guī)則分析檢查每條語句是否有正確的邏輯結構,程序是最終的一個語法單位。編譯程序的語法規(guī)則可用上下文無關文法來刻畫。

        語法分析的方法分為兩種:自上而下分析法和自下而上分析法。自上而下就是從文法的開始符號出發(fā),向下推導,推出句子。而自下而上分析法采用的是移進歸約法,基本思想是:用一個寄存符號的先進后出棧,把輸入符號一個一個地移進棧里,當棧頂形成某個產(chǎn)生式的一個候選式時,即把棧頂?shù)倪@一部分歸約成該產(chǎn)生式的左鄰符號。

        3、中間代碼生成。中間代碼是源程序的一種內部表示,或稱中間語言。中間代碼的作用是可使編譯程序的結構在邏輯上更為簡單明確,特別是可使目標代碼的優(yōu)化比較容易實現(xiàn)。中間代碼即為中間語言程序,中間語言的復雜性介于源程序語言和機器語言之間。中間語言有多種形式,常見的有逆波蘭記號、四元式、三元式和樹。

        4、代碼優(yōu)化。代碼優(yōu)化是指對程序進行多種等價變換,使得從變換后的程序出發(fā),能生成更有效的目標代碼。所謂等價,是指不改變程序的運行結果。所謂有效,主要指目標代碼運行時間較短,以及占用的存儲空間較小。這種變換稱為優(yōu)化。

        有兩類優(yōu)化:一類是對語法分析后的中間代碼進行優(yōu)化,它不依賴于具體的計算機;另一類是在生成目標代碼時進行的,它在很大程度上依賴于具體的計算機。對于前一類優(yōu)化,根據(jù)它所涉及的程序范圍可分為局部優(yōu)化、循環(huán)優(yōu)化和全局優(yōu)化三個不同的級別。

        5、目標代碼生成。目標代碼生成是編譯的最后一個階段。目標代碼生成器把語法分析后或優(yōu)化后的中間代碼變換成目標代碼。目標代碼有三種形式:可以立即執(zhí)行的機器語言代碼,所有地址都重定位;待裝配的機器語言模塊,當需要執(zhí)行時,由連接裝入程序把它們和某些運行程序連接起來,轉換成能執(zhí)行的機器語言代碼;匯編語言代碼,須經(jīng)過匯編程序匯編后,成為可執(zhí)行的機器語言代碼。

        目標代碼生成階段應考慮直接影響到目標代碼速度的三個問題:一是如何生成較短的目標代碼;二是如何充分利用計算機中的寄存器,減少目標代碼訪問存儲單元的次數(shù);三是如何充分利用計算機指令系統(tǒng)的特點,以提高目標代碼的質量。


        本文標簽: 程序  編譯程序  源程序  目標  轉換成