精選分類 書庫 完本 排行 原創專區
欣可小說 > 曆史 > 程式設計語言處理係統 > 語言處理係統

程式設計語言處理係統 語言處理係統

作者:池昌海 分類:曆史 更新時間:2026-04-29 09:20:01

{

\"code\": 200,

\"title\": \"\",

\"content\": \"程式設計語言處理係統隨被處理的語言及其處理方法和處理過程的不同而異。不過,任何一個語言處理係統通常都包含有一個翻譯程式,它把一種語言的程式翻譯成等價的另一種語言的程式。被翻譯的語言和程式分彆稱為源語言和源程式,翻譯生成的語言和程式分彆稱為目標語言和目標程式。\\n\\n語言處理係統是對軟件語言進行處理的程式子係統\\n\\nLanguageprocessingsystemisasub-systemtoprocesssoftwarelanguage.\\n\\n除了機器語言外,其他用任何軟件語言書寫的程式都不能直接在計算機上執行,都需要對它們進行適當的處理。語言處理係統的作用是把用軟件語言書寫的各種程式處理成可在計算機上執行的程式,或最終的計算結果,或其他中間形式。\\n\\n不同級彆的軟件語言有不同的處理方法和處理過程。關於需求級、功能級、設計級和文檔級軟件語言的處理方法和處理過程是軟件語言、軟件工具和軟件開發環境的重要研究內容之一。關於實現級語言即程式設計語言的處理方法和處理過程發展較早,技術較為成熟,其處理係統是基本軟件係統之一。這裡,語言處理係統僅針對程式設計語言的處理而言。關於需求級、功能級、設計級、和文檔級語言的處理請參見需求定義語言,功能定義語言,設計性語言,軟件過程和軟件工具。\\n\\n按照不同的源語言、目標語言和翻譯處理方法,可把翻譯程式分成若乾種類。從組合語言到機器語言的翻譯程式稱為彙程式設計序,從高級語言到機器語言或組合語言的翻譯程式稱為編譯程式。按源程式中指令或語句的動態執行順序,逐條翻譯並立即解釋執行相應功能的處理程式稱為解釋程式。除了翻譯程式外,語言處理係統通常還包括正文編輯程式、宏加工程式,連接編輯程式和裝入程式等。\\n\\n發展過程\\n\\n隨著程式設計語言的變化和發展,語言處理係統也跟著由小到大、由簡單到複雜的變化和發展。最初人們直接用機器語言來描述問題的解法,這種程式無需任何處理就能直接在計算機上運行。但是這樣的編程方式太繁瑣,極易出錯,效率極低,是非常不可取的。在計算機發展的早期,人們就在努力設法改變這種編程方式。開始時傾向於準備好一個由一些常用的例程程式組成的庫,並借用一些代碼來引用該庫中的例行程式。後來改用一些字元或語言來表示這些代碼,這樣就成了符號語言的雛形。在此基礎上,人們努力使機器語言符號化。機器語言發展成了組合語言。語言的這一發展導致要求有一翻譯程式把組合語言程式翻譯成機器語言程式,這種翻譯程式稱為彙程式設計序。\\n\\n緊隨組合語言和彙程式設計序之後發展的是自動編譯器。在自動編譯器中,程式人員用的語言更接近通常的數學表示體係。但是用現在的標準來衡量,20世紀50年代初出現的第一批自動編譯器都十分初步,它們隻允許簡單的單目運算,數據元素的命名方式有很多限製,然而它們促進了對高級語言處理係統和通用的翻譯過程的研究。20世紀50年代中期出現了FORTRAN等一批高級語言,與此相適用的語言處理程式、解釋程式和編譯程式也相繼開發成功。\\n\\n隨著編譯技術的進步和社會對編譯程式需求的不斷增長,50年代末有人開始研究編譯程式的自動生成工具,提出並研製編譯程式的編譯程式,它的功能是從任一語言的詞法規則、語法規則和語義解釋出發,自動產生該語言的編譯程式。研製一個功能完全且實用的編譯程式的編譯程式是很困難的。多數編譯程式的編譯程式都是一些專用編程式生成係統,如自動生成詞法分析程式的掃描程式生成係統,自動生成語法分析程式的語法分析程式生成係統。\\n\\n60年代起,不斷有人開始使用自展技術來構造編譯程式。自展的主要特征是用被編譯的語言來書寫該語言自身的編譯程式。自展的思想最早在50年代中間就有人提出,到1971年,PASCAL的編譯程式用自展技術生成後,其影響越來越大。\\n\\n隨著並行技術和並行語言的發展,處理並行語言的並行編譯技術正在深入研究之中,將序列程式轉換成並行程式的自動並行編譯技術也正在深入研究之中。\\n\\n分類\\n\\n按照處理方法,語言處理係統可分為編譯型解釋型和混合型三類。\\n\\n編譯型語言處理係統是采用編譯方法的語言處理係統。解釋型語言處理係統是采用解釋方法的語言處理係統。混合型語言處理係統是兼有編譯和解釋兩種方法的語言處理係統。\\n\\n多數高級語言都有一些不能在編譯時刻確定而要到運行時刻才能確定的特性。因此,與這些特征相關聯的語言成分等價的目標代碼在編譯時刻不能全部生成,需要到運行時才能全部生成。這些語言成分隻能采用解釋方法處理。多數解釋程式都是先對源程式進行處理,把它轉換成某種中間形式,然後對中間形式的代碼進行解釋,而不是直接對源程式進行解釋。這就是說,多數高級語言處理係統既非純編譯型,也非純解釋型,而是編譯和解釋混合型。\\n\\n基本內容\\n\\n程式設計語言處理係統主要包括正文編輯程式、宏加工程式、編譯程式、彙程式設計序、解釋程式、連接編輯程式、裝入程式、編譯程式的編譯程式、自編譯程式、交叉編譯程式和並行編譯程式等。\\n\\n正文編輯程式用於創建和修改源程式正文檔案。一個源程式正文可以編輯成一個檔案,也可以分成多個模塊編輯成若乾個檔案。用戶可以使用各種編輯命令通過鍵盤、鼠標器等輸入設備輸入要編輯的元素或選擇要編輯的檔案,正文編輯程式根據用戶的編輯命令來創建正文檔案,或對檔案進行各種刪除、修改、移動、複製及列印等操作。\\n\\n宏加工程式把源程式中的宏指令擴展成等價的預先定義的指令序列。對源程式進行編譯之前應先對源程式進行宏加工。\\n\\n編譯程式把用高級語言書寫的程式翻譯成等價的機器語言程式或組合語言程式。變異過程可分為分析和綜合兩個部分。分析部分包括詞法分析、語法分析和語義分析三步。分析的目的是檢察源程式的語法和語義的正確定,並建立符號表、常數表和中間語言程式等數據對象。綜合的目的是為源程式中的常數、變量、數組等各種數據對象分配存儲空間,並將分析的結果綜合成可高效運行的目標程式。彙程式設計序把用組合語言書寫的程式翻譯成等價的機器語言程式。\\n\\n解釋程式按源程式中語句的動態執行順序,從頭開始,翻譯一句執行一句,再翻譯一句再執行一句,直至程式執行終止。和編譯方法根本不同的是,解釋方法是邊翻譯邊執行,翻譯和執行是交叉在一起的,而編譯方法卻把翻譯和執行截然分開,先把源程式翻譯成等價的機器語言程式,這段時間稱為編譯時刻,然後再執行翻譯成的目標程式,這段時間稱為運行時刻。正因為解釋程式是邊翻譯邊執行,所以要把源程式及其所處理的數據一起交給解釋程式進行處理。\\n\\n編譯方法和解釋方法各有優缺點。編譯方法的最大優點是執行效率高,缺點是運行時不能與用戶進行互動,因此比較適用於些規模較大或運行時間較長或要求運行效率較高的程式的語言,更適用於寫機器或係統軟件和支撐軟件的語言。解釋方法的優點是解釋執行時能方便的實現與用戶進行互動,缺點是執行效率低,因此比較適用於互動式語言。\\n\\n連接編輯程式將多個分彆編譯或彙編過的目標程式段組合成一個完整的目標程式。組合成的目標程式可以是能直接執行的二進製程式,也可以是要再定位的二進製程式。\\n\\n裝入程式將儲存在外存介質上的目標程式以適於執行的形式裝入內存並啟動執行。\\n\\n編譯程式的編譯程式是產生編譯程式的編譯程式。他接受用某種適當的表示體係描述的某一語言類中任意語言A的詞法規則、語法規則、語義規則和(或)代碼生規則,並從這些描述產生出用目標語言B寫的關於語言A的全部或部分編譯程式。這樣便可顯著提高編譯程式的開發效率。\\n\\n自編譯程式是用被編譯的語言即源語言自身來書寫的編譯程式。利用自變異技術,可以從一具有自編譯能力的語言L的一個足夠小的子集L0的編譯程式出發,逐步構造出L的編譯程式,也可從L的未優化的編譯程式出發,構造優化的編譯程式。\\n\\n交叉編譯程式是一種編譯程式,它自身在甲機器上運行,生成的目標代碼是乙機器的代碼。\\n\\n並行編譯程式是並行語言的編譯程式,或是將序列語言程式並行化的編譯程式,後者又稱為自動並行編譯程式。\\n\\n一個程式特彆是中、大規模的程式難免冇有錯誤。發現並排除源程式中的錯誤是語言處理係統的任務之一。通常源程式的語法錯誤和靜態語義錯誤都是由編譯程式或解釋程式來發現的。排錯能力的大小是評價編譯程式和解釋程式優劣的重要標誌之一。源程式中的動態語義錯誤通常要藉助於在語言中加入某些排錯設施如跟蹤、截斷來發現和排除。處理排錯設施的程式是排錯程式。\\n\\n展望\\n\\n語言處理係統的發展與軟件語言、軟件工程和軟件技術的發展緊密相連,相互影響,相互促進。隨著軟件語言和軟件技術向可視化、多媒體、並行化、智慧化、自然化和自動化等方麵發展,語言處理係統也向著這些方麵發展。\\n\\n\"

}

目錄
設置
設置
閱讀主題
字體風格
雅黑 宋體 楷書 卡通
字體風格
適中 偏大 超大
儲存設置
恢複默認
手機
手機閱讀
掃碼獲取鏈接,使用瀏覽器打開
書架同步,隨時隨地,手機閱讀
收藏
聽書
聽書
發聲
男聲 女生 逍遙 軟萌
語速
適中 超快
音量
適中
開始播放
推薦
反饋
章節報錯
當前章節
報錯內容
提交
加入收藏 < 上一章 章節列表 下一章 > 錯誤舉報