第一章 編譯原理緒論(4)——編譯程序的組織

       圖1(文章《編譯原理緒論——編譯過程的邏輯結構》中的圖1)所示的編譯程序的邏輯結構,是指它們之間的邏輯關係,而不一定是執行時間上的先後順序。事實上,可按不同的執行流程來組織上述各部分的工作,這在很大程度上依賴於編譯過程中對源程序掃描的遍數,以及如何劃分各遍掃描所進行的工作。此處所說的“遍”,是指對源程序或其內部表示從頭到尾掃視一次,並進行有關的加工處理工作。

      從對源程序的詞法分析開始到中間代碼生成,編譯程序所完成的處理工作只依賴於源語言,而與運行目標程序的計算機(或目標語言)無關,通常將上述各個環節統稱爲編譯程序的前端(Front End)屬於綜合部分的代碼優化和目標代碼生成,一般只依賴於目標語言,通常將它稱爲編譯程序的後端(Back End)

      目前廣泛流行的J A V A語言就是採用這種思想來實現的(解釋執行),即對於不同的計算機,解釋器的前端都相同(因爲它與運行目標程序的計算機(或目標語言)無關),所產生的也都是同一種所謂字節碼(Byte Code)形式的中間代碼,若在不同的計算機上配置了能解釋執行這種中間代碼的後端(通常稱爲JA V A虛擬機),便能在這些計算機上解釋執行JAVA程序,即實現了 JA V A語言的跨平臺特性。(所以只需要安裝其解釋器的後端就可以實現其跨平臺的特性)

發佈了111 篇原創文章 · 獲贊 14 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章