編譯器設計中的語言處理系統是什麼?
在一個語言處理系統中,原始碼首先進行預處理。修改後的源程式由編譯器處理,形成目標彙編程式,然後由彙編器翻譯成可重定位的目的碼,再由連結器和載入器處理,最終生成目標程式。它基於翻譯器接受的輸入和產生的輸出,語言翻譯器可以定義為以下任何一種。

高階語言 − 如果程式包含 #define 或 #include 指令(包括 #include 或 #define),則稱為高階語言 (HLL)。
預處理器 − 預處理器透過包含名為檔案包含的檔案來終止所有 #include 指令,並使用宏展開來終止所有 #define 指令。預處理器可以實現以下功能:
宏處理 − 預處理器可以使使用者定義宏,宏是高階結構的簡寫。
檔案包含 − 預處理器可以將標頭檔案包含到程式文字中。
理性預處理器 − 這些預處理器用額外的當前控制流和資料結構設施來增強早期語言。
語言擴充套件 − 這些預處理器試圖透過特定數量的宏構造來向語言中插入功能。
純高階語言 − 這意味著程式不包含任何 # 標記。這些 # 標記也稱為預處理器指令。
彙編器 − 彙編器是一個程式,它以組合語言程式作為輸入,並將其轉換為類似的機器語言程式碼。
組合語言 − 它是一箇中間狀態,是一系列機器指令和實現所需的其他有益記錄。它不是 0 和 1 的形式。
組合語言的優點
閱讀更容易。
地址是符號的,程式設計師無需擔心地址。
它是助記符。例如,在組合語言中,我們使用 ST 代替儲存指令的 01010000。
易於查詢和糾正錯誤。
可重定位機器程式碼 − 這意味著您可以將機器程式碼載入到計算機的任何位置並執行它。程式碼中的地址將保持程式碼移動不變。
載入器/連結器 − 這段程式碼以可重定位程式作為輸入,編譯庫函式、可重定位物件記錄,並建立其類似的絕對機器程式。
載入包括獲取可重定位機器程式,更改可重定位地址,並將修改後的指令和資訊放置在記憶體的合適區域。
連結使我們能夠從多個可重定位機器程式文件中建立一個單一程式。這些文件可能是不同編譯的結果,一個或多個可能是系統支援的庫例程,任何需要它們的程式碼都可以使用。
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP