<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                上篇我們介紹了什么是編譯程序,簡單提到了這個“工廠”工作的六個階段。本篇介紹一下這六個階段。 “工廠”導航圖(翻譯工作的過程): ![](https://box.kancloud.cn/2016-06-12_575d10a897f50.jpg) **流水線一--**詞法分析: 也就是從左到右一個一個的讀入源程序,識別一個單詞或符號,并進行歸類。類似分析漢語語法,例如,我們輸入一句話,我是中國人。然后進行分析,讀入我可以識別這個單詞,為名詞,我就歸到名詞這類;讀入是,我們歸到動詞這類;讀入中字,不能構成一個可識別的東東,接著讀入,中國人,為名詞類。而在計算機中,例如我們寫的某行代碼,var??sum = first + count*10 ; 進行分類,1保留字:var;標識符:2 sum 3 first? 4 count ?乘號:5*; **流水線二--**語法分析: 在詞法分析的基礎上,將單詞序列分解成各類語法短語,如“程序”,“語句”,“表達式”等。例如通過上面的單詞“我”“中國人”“是”,可以構成兩種形式的語句,我是中國人,中國人是我,都符合<主語><謂語>這樣的語法。 **流水線三--**語義分析: 審查源程序是否有語義的錯誤,當不符合語言規范的時候,程序就會報錯。例如上面的“我是中國人”和“中國人是我”兩個句子,顯然后面的中國人是我就不符合語義了。 **流水線四--**中間代碼生成: 在進行了語法和語義的分析工作之后,編譯程序將源程序變成了一種內部表示形式,這種內部表示形式叫做中間語言或中間代碼。(比較抽象些),個人理解為,生成一種介于源碼和機器語言的形式。 **流水線五--**代碼優化: 這個階段是對前階段的中間代碼進行變換或改造,目的是使生成的目標代碼更為高效,即節省時間和空間。 **流水線六--**目標代碼生成: 也就是把優化后的中間代碼變換成指令代碼或匯編代碼。 這是工作的最后階段,與硬件系統結構,指令系統相關,涉及到硬件系統功能部件運用、機器指令的選擇等等。? 編譯程序編譯性質的語言的翻譯程序,而解釋程序,相對編譯程序簡單些,因為解釋型語言不需要把源程序翻譯成目標代碼,也是取分析執行源代碼語句,一但一個語句分析結束,就直接運行并顯示結果了。 ? 以上簡單介紹了編譯程序工作的各個階段。理解不到位之處,請留言哈~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看