導航:首頁 > 源碼編譯 > 編寫編譯器的語言是什麼

編寫編譯器的語言是什麼

發布時間:2022-08-15 20:43:32

㈠ C語言的編譯器是用什麼語言寫的

C語言的原型ALGOL 60語言。(也稱為A語言)

1963年,劍橋大學將ALGOL 60語言發展成為CPL(Combined Programming Language)語言。

1967年,劍橋大學的Matin Richards 對CPL語言進行了簡化,於是產生了BCPL語言。

1970年,美國貝爾實驗室的Ken Thompson將BCPL進行了修改,並為它起了一個有趣的名字「B語言」。意思是將CPL語言煮干,提煉出它的精華。並且他用B語言寫了第一個UNIX操作系統。

而在1973年,B語言也給人「煮」了一下,美國貝爾實驗室的D.M.RITCHIE在B語言的基礎上最終設計出了一種新的語言,他取了BCPL的第二個字母作為這種語言的名字,這就是C語言。

看到了不 最早的C編譯器當然是B語言寫的了

㈡ 匯編語言的編譯器是用什麼寫的呢

編譯器一般是用c寫的,最初的東西肯定是用機器語言寫的,我老師曾經用在紙帶上穿孔的辦法寫過程序。
他當時的願望是用鍵盤敲一個A就能輸入一個A,而不是出來一排孔。

㈢ C語言是由什麼語言編寫而成的

我想,你問的是 C語言編譯器 是用什麼語言寫的。
概括說,當今幾乎所有的實用的編譯器/解釋器都是用C語言編寫的,有一些語言比如Clojure,Jython等是基於JVM或者說是用Java實現的,IronPython等是基.NET實現的,但是Java和C#等本身也要依靠C/C++來實現,等於是間接調用了C。
世界上第一個C語言編譯器,是在B語言基礎上,用B語言與PDP匯編語言 編寫的。開發過程是先用匯編寫了一個最基本功能的子集C0,利用自編譯Self-Compile功能,或虛擬機CVM(C Language Virtual Machine)功能,增添新的東西,變C1, 按此法多次增添發展,滾雪球般用匯編把小雪球揉到一起,1生2,2生3,...成了C。C 再生萬物。
這里,該向C語言之父Dennis Ritchie(丹尼斯·里奇)致敬。

㈣ 第一個 C 語言編譯器是用什麼語言編寫的

第一個C語言編譯器(簡單的編譯器)是用匯編完成的,後來的完整C語言編譯器是用C語言編寫的(也就是由簡單的編譯器編譯)。

㈤ 編輯程序所說的語言是什麼

程序設計語言,通常簡稱為編程語言,是一組用來定義計算機程序的語法規則。它是一種被標准化的交流技巧,用來向計算機發出指令。一種計算機語言讓程序員能夠准確地定義計算機所需要使用的數據,並精確地定義在不同情況下所應當採取的行動。

程序設計語言原本是被設計成專門使用在計算機上的,但它們也可以用來定義演算法或者數據結構。正是因為如此,程序員才會試圖使程序代碼更容易閱讀。

設計語言往往使程序員能夠比使用機器語言更准確地表達他們所想表達的目的。對那些從事計算機科學的人來說,懂得程序設計語言是十分重要的,因為在當今所有的計算都需要程序設計語言才能完成。

在過去的幾十年間,大量的程序設計語言被發明、被取代、被修改或組合在一起。盡管人們多次試圖創造一種通用的程序設計語言,卻沒有一次嘗試是成功的。之所以有那麼多種不同的編程語言存在的原因是,編寫程序的初衷其實也各不相同;新手與老手之間技術的差距非常大,而有許多語言並對新手來說太難學;還有,不同程序之間的運行成本(runtime cost)各不相同。

有許多用於特殊用途的語言,只在特殊情況下使用。例如,PHP專門用來顯示網頁;Perl更適合文本處理;C語言被廣泛用於操作系統和編譯器的開發(所謂的系統編程)。

高級程序設計語言(也稱高級語言)的出現使得計算機程序設計語言不再過度地倚賴某種特定的機器或環境。這是因為高級語言在不同的平台上會被編譯成不同的機器語言,而不是直接被機器執行。最早出現的編程語言之一FORTRAN的一個主要目標,就是實現平台獨立。

雖然大多數的語言可以既可被編譯(compiled)又可被解譯(interpreted),但大多數只在一種情況下能夠良好運行。在一些編程系統中,程序要經過幾個階段的編譯,一般而言,後階段的編譯往往更接近機器語言。這種常用的使用技巧最早在1960年代末用於BCPL,編譯程序先編譯一個叫做「0代碼」的轉換程序(representation),然後再使用虛擬器轉換到可以運行於機器上的真實代碼。這種成功的技巧之後又用於Pascal和P-code,以及Smalltalk和二進制碼,雖然在很多時候,中間過渡的代碼往往是解譯,而不是編譯的。

如果所使用的翻譯的機制是將所要翻譯的程序代碼作為一個整體翻譯,並之後運行內部格式,那麼這個翻譯過程就稱為編譯。因此,一個編譯器是一個將可閱讀的程序文本(叫做源代碼)作為輸入的數據,然後輸出可執行文件(object code)。所輸出的可執行文件可以是機器語言,由計算機的中央處理器直接運行,或者是某種模擬器的二進制代碼。

如果程序代碼是在運行時才即時翻譯,那麼這種翻譯機制就被稱作解譯。經解譯的程序運行速度往往比編譯的程序慢,但往往更具靈活性,因為它們能夠與執行環境互相作用。參見解譯語言。

㈥ c語言編譯器是用什麼語言編寫的

C++

比較著名,並且開源的C編譯器有GCC、clang等,目前GCC和clang都是用C++實現的

㈦ 各種計算機語言的編譯器一般都是用什麼語言寫的

編譯器用什麼語言都可以寫,編譯器主要的功能就是進行詞法、語法、語義分析,然後生成中間代碼,優化中間代碼,根據中間代碼生成匯編語言,最後將匯編語言變成機器碼。整個編譯器的演算法你可以用任意語言實現。

㈧ 編譯器一般由哪種語言開發

其實我在想為什麼匯編語言生成一個簡單的編譯器後,可以用新生成的編譯器再次生成編譯器,例如,C語言開發C的編譯器呢?
這是一個遞歸的思想,舉個例子一看就明白了
用一個大的模具可以生成一個A模具,A模具可以做出來B模具,依次往下推,最終這個小模具可以做出來小盒子用來裝東西。
第一個大模具肯定是手工做出來的第一個模具,但是有了這個大模具後,後面就可以用他自動的生成更多的模具,後面的各種模具加起來又可以造出來更精緻的模具,
所以,自動第一個大模具造出來模具的時候,大模具就可以被拋棄了。
我們都知道編譯程序通常分為下面五個階段:
1)詞法分析
2)語法分析
3)語義分析與中間代碼產生
4)優化
5)目標代碼生成
當然最難的一點就是目標代碼的生成,這一階段實現了最終的翻譯,就是真正把原碼翻譯成可以被CPU直接計算的機器碼(NativeCode)。

㈨ c語言編譯器是用什麼語言寫的

第一個C的編譯器前10%是用匯編寫的,後90%使用C寫的,他是用滾雪球的方式寫的,後來的C編譯器基本都是用C寫的

閱讀全文

與編寫編譯器的語言是什麼相關的資料

熱點內容
職業生涯pdf 瀏覽:954
ubuntu安裝軟體php 瀏覽:159
黑馬程序員退學流程 瀏覽:362
網頁伺服器崩潰怎麼回事 瀏覽:651
cnc編程前景怎麼樣 瀏覽:320
lniux命令詳解 瀏覽:494
linuxmysql查詢日誌 瀏覽:369
老捷達夥伴壓縮比 瀏覽:94
改後綴加密 瀏覽:433
郵局選址問題演算法 瀏覽:15
河北伺服器內存雲主機 瀏覽:13
在電腦上怎麼找到加密狗圖標 瀏覽:437
電腦的瀏覽器怎麼打開pdf文件怎麼打開 瀏覽:144
pdf卡片庫下載 瀏覽:13
單片機中二進製表示什麼 瀏覽:726
java網路編程推薦 瀏覽:797
施耐德開關編程 瀏覽:68
組織胚胎學pdf 瀏覽:846
linux查看發包 瀏覽:497
加密貨幣交易所暴利時代 瀏覽:826