編譯器是一種特殊類型的計算機程序,它將人類可讀的文本文件轉換成計算機更容易理解的形式。在最基本的層次上,計算機只能理解兩件事:1和0。在這個層次上,人類將非常緩慢地操作并找到包含在1和1的長字符串中的信息0不可理...
編譯器是一種特殊類型的計算機程序,它將人類可讀的文本文件轉換成計算機更容易理解的形式。在最基本的層次上,計算機只能理解兩件事:1和0。在這個層次上,人類將非常緩慢地操作并找到包含在1和1的長字符串中的信息0不可理解。編譯器是一種彌補這一差距的計算機程序。

編譯器是一種特殊類型的計算機程序,它將人類可讀的文本文件轉換成計算機更容易理解的形式一開始,編譯器是非常簡單的程序,只能將符號轉換成計算機所理解的1和0位,由一系列的步驟組成,這些步驟最初是手工翻譯成計算機可以理解的數據。這是一項非常耗時的任務,因此部分任務被自動化或編程,并編寫了第一個編譯器。這個程序匯編或編譯了執行分步程序所需的步驟這些簡單的編譯器被用來編寫一個更復雜的編譯器。在新版本中,可以在編譯器程序中添加更多的規則,使程序員能夠使用更自然的語言結構來操作,這使得編寫程序更容易,并允許更多的人開始編寫程序隨著越來越多的人開始編寫程序,關于編寫程序的想法也越來越多,并被用來制作更復雜的編譯器,改進并變得更容易使用。編譯器程序也可以是專門的。某些語言結構比其他語言更適合于特定任務,因此為特定任務或語言開發了特定的編譯器。有些編譯器是多階段的或多階段的。第一次通過可以使用非常自然的語言,使其更接近計算機可理解的語言。第二次甚至第三次傳遞可以將其帶到最后一個階段,即可執行文件多級編譯器中的中間輸出通常被稱為偽代碼,因為它不能被計算機使用。偽代碼是非常結構化的,就像一個計算機程序,不像更自然的語言那樣自由流動和冗長。最終的輸出稱為可執行文件,因為它是由計算機實際執行或運行的。像這樣將任務拆分,可以更容易地編寫更復雜的編譯器,因為每個子任務都是不同的。它還可以使計算機更容易地指出它在理解被要求做什么時遇到的困難限制編譯器理解程序的錯誤稱為
語法錯誤。程序函數調用方式的錯誤稱為
邏輯錯誤。邏輯錯誤更難發現和更正。語法錯誤就像拼寫錯誤,而邏輯錯誤更像是語法錯誤交叉編譯器程序也被開發出來了。交叉編譯器允許為一臺由特定制造商設計的計算機編寫的一組指令文本文件,由另一家制造商為另一臺計算機編譯和運行。例如,為在英特爾計算機上運行而編寫的程序有時可能是交叉的編譯后運行摩托羅拉公司開發的一臺計算機。這通常不能很好地工作。在計算機程序運行的層次上,計算機硬件可能看起來非常不同,即使它們看起來和你相似。交叉編譯不同于讓一臺計算機模擬另一臺計算機。如果一臺計算機正在模擬另一臺計算機,模擬通常比交叉編譯慢,因為兩個程序同時運行,假裝是另一臺計算機的程序和正在運行的程序。然而,要使交叉編譯工作,你需要描述程序的原始自然語言文本一種與原始計算機非常相似的計算機,程序可以在另一臺計算機上運行。這并非總是可能的,因此這兩種技術都在使用。