求真百科歡迎當事人提供第一手真實資料,洗刷冤屈,終結網路霸凌。

自編譯語言檢視原始碼討論檢視歷史

事實揭露 揭密真相
前往: 導覽搜尋
  自編譯語言

自編譯語言的功能及其編譯程序是可以像滾雪球一樣,一級一級她擴充。它可以對編譯程序作修改並且描述其他語言的編譯程序。它的編譯程序在一台機器上建立以後,就有可能產生其他計算機上的各種語言的編譯程序,從而縮短了編譯程序的研製過程。它對於促進計算機的推廣應用,其作用是顯著的。

簡介

在早期,人們是使用機器語言或匯編語言並用手工方式來編寫編譯程序的。採用這兩種語言來編寫編譯程序的主要缺點是生產效率低,從編寫到調試出一個中等複雜的程序語言(如ALGOL、FORTRAN)的編譯程序,一般需要幾個到十幾個人年,並且編寫出來的程序不便於閱讀、修改和移植。用匯編語言手工編寫編譯程序的主要優點是:能夠根據具體機器做針對性較強的處理,可以發揮具體計算機的系統功能;可以滿足各種具體要求;編程可精雕細刻,所生成的程序效率高。但是隨着計算機技術的發展,軟件的生產率、可靠性、可移植性及可維護性等已成為當前軟件生產和發展的主要矛盾,因此,越來越多的人使用高級語言來構造編譯程序。這樣做除了可以節省大量的程序設計時間外(實踐表明,與手編程序相比,一般可節省四分之三的時間),而且所構造出來的程序易於閱讀和修改,還可以用自展方式(自編譯方式)來生成編譯程序和進行編譯程序的移植。所有這些都在一定程度上滿足了軟件工程化方面的要求。所以,已發展了多種適用於進行系統程序設計的高級語言,其中較著名的有Pascal、MODULA一2、C、Ada、C++和Java語言等。

評價

高級語言的自編譯性是指,如果一個高級語言能用來書寫它自己的編譯程序,則該語言稱為自編譯語言。上述語言都是自編譯語言。一般說來,自編譯語言不但可以用來書寫其自身的編譯程序,而且也能用來書寫其他語言的編譯程序。所以,如果某台計算機上已配備有某種自編譯語言(具備該語言的編譯系統),就可以利用這種語言為本台機器配置其他高級語言(用該語言編寫並生成其他高級語言的編譯系統)。[1]

參考文獻