在軟考的複習過程中,一直認為語言處理程式非常抽象,在做題的時候也是錯非常多(儘管這部分題不多哈) 。在進京趕考之前總結一下自己薄弱的地方。
語言處理程式就是能夠將高階語言或組合語言編寫的程式翻譯成某種機器語言程式,使程式能夠在計算機上執行。也就是處理一些本不能夠直接執行在計算機上的語言的一些程式,而這些語言就叫做源程式,經過語言處理程式處理成計算機可直接執行的程式。
假設感到非常抽象的話請看下圖:
源程式主要就是組合語言或高階語言編寫的。
語言處理程式主要分為匯程式設計序、編譯程式和解釋程式三種。分別說明下面三種語言處理程式的原理:
1、組合語言
組合語言是為特定的計算機或計算機系統設計的面向機器的符號化的程式語言。用組合語言編寫的程式稱為組合語言程式。匯程式設計序的project是將組合語言所編寫的源程式翻譯成機器指令程式。
2、編譯程式和解釋程式
編譯程式的解釋程式的工作原理基本同樣。僅僅是在執行使用者程式時有所差別。它們都是對某種高階語言編寫的源程式進行翻譯。詳細例如以下:
詳細編譯程式的工作原理:
詳細解釋程式的工作原理:
中間**的級別不同一時候也會有影響。級別越高就會越接近於機器語言。
二者差別:解釋程式不產生源程式的目標程式。
高階語言編譯與解釋方式的比較:
(1)效率:編譯比解釋方式可能取得更高的效率。
由於源程式僅僅須要被編譯程式翻譯一次,就能夠多次執行。
儘管編譯程式除了對源程式進行語法和語義分析外。還要生成源程式的目標**並進行優化。
(2)靈活性。解釋方式比編譯方式更靈活。因為解釋程式須要重複檢查源程式。
(3)可移植性。直譯器一般也是用某種程式語言編寫的,因此僅僅要對直譯器進行又一次編譯,就能夠使直譯器執行在不同的環境中。
語言處理程式基礎
語言處理程式時以累系統軟體的總稱,其主要作用時將高階語言或組合語言寫的程式翻譯成某種機器語言的程式,是程式在計算機上執行。語言處理程式主要分為匯程式設計序 編譯程式和解釋程式3種基本型別。其中的編譯程式基本原理看得我真是一頭霧水,太難了!詞法分析 從左到右逐個掃瞄源程式中的字元,識別其中的關鍵字 保...
程式語言與語言處理程式
程式語言和語言處理程式,是兩個完全不一樣的概念。首先我們來說程式語言 程式語言一共就三種 1 機器語言 2 組合語言 3 高階語言。這三種語言,計算機能直接執行的就是機器語言,初次之外都不能直接執行。所以說呢機器語言就是最早的語言,最原始的語言。但是我們知道機器語言都是0和1的指令去寫的,那對於我們...
c語言預處理程式
c語言預處理程式有三種,分別是 1.包含標頭檔案,如 include 2.巨集定義 本質是字串的替換 如 define 巨集名 串 巨集體 define pi 3.14159 undef 終止巨集定義的作用域 如 undef pi 注 雙引號內與巨集同名的字串不做巨集體展開 define r 3.0...