编译原理——语言处理程序
概況
程序語言是為了書寫計算機程序而人為設計的符號,用于對計算過程進行描寫敘述、組織和推導,程序語言分為低級語言和高級語言,低級語言包含計算機硬件能識別的由0、1組成的機器指令語言和用符號組成的指令語言匯編集合的匯編語言,高級語言是人們開發的功能更強、抽象級別更高的語言以支持程序設計,面向各類應用的程序語言。
?
因為計算機僅僅能理解由0、1序列構成的機器語言。因此高級程序語言須要翻譯,即將高級語言或匯編語言編寫的程序翻譯成某種機器語言好曾向,擔負這一任務的程序稱為“語言處理程序”。語言處理程序的基本方式為匯編、解釋和編譯。
?
匯編程序
?
用符號表示的指令稱為匯編指令,匯編指令集合稱為匯編語言。
?
匯編語言由指令語言、偽指令語句和宏指令語句構成。指令語句又稱為機器指令語言。將指令語言匯編后能產生對應的機器代碼。偽指令語句,是指示匯編源程序時完畢某些工作,通俗的說是寫給“匯編軟件”看的。不翻譯成機器碼。宏指令語句。多次反復使用的程序段叫宏,須要使用這段程序時。僅僅要使用宏名即能夠。這樣宏的引用就是宏指令語句。
?
匯編語言編寫的程序為匯編語言程序,匯編語言程序將匯編語言所編寫的源程序翻譯成機器指令程序。
該工作包含兩部分,一是將匯編語言轉換成機器指令,還有一部分處理源程序中的偽指令。該工作是實現途徑是通過兩次掃描源程序。
?
編譯程序
編譯程序是把某種高級語言書寫的源程序翻譯成目標語言程序。
?
編譯程序工作分為六個階段,各自是此法分析、語法分析、語義分析、中間代碼生成、代碼優化、目標代碼生成這六個階段,可是在實際的編譯器中可能會將當中的某些階段結合在一起進行處理。
?
在邏輯上將這六個階段分為前段和后端,前段從詞法分析到中間代碼生成4個階段,后端包含代碼優化和目標代碼生成這兩個階段,前段和后端把編譯器分成了與機器無關編程語言有關和機器有關編程語言無關兩部分。
?
解釋程序
解釋程序能夠直接將源程序解釋運行。也能夠將源程序翻譯成某種中間代碼形式。然后對中間代碼進行解釋來運行。
?
解釋程序的詞法、語法和語義與編譯程序基本同樣,只是不同的是解釋程序不產生目標程序,執行時候須要源程序和解釋程序參與。
?
編譯與解釋比較
編譯方式下。機器上僅僅執行目標程序,源程序和編譯程序不參與目標程序執行。解釋方式下。源程序和解釋程序要參與到程序執行過程中。執行程序的控制權在解釋程序。
?
編譯較解釋效率高,解釋方式下執行程序,須要重復多次掃描源程序,而且須要很多其它的內存。
編譯方式進行目標代碼生成并優化在時間和空間上都比解釋程序耗費多,可是編譯程序的最大的優勢是一次編譯完畢多次執行。所以總體效率比解釋高。
轉載于:https://www.cnblogs.com/hrhguanli/p/5085071.html
總結
以上是生活随笔為你收集整理的编译原理——语言处理程序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: cro概念股有哪些 关注这些上市公司就
- 下一篇: Swif基础语法01