Ⅰ 編譯器一般由哪種語言開發
其實我在想為什麼匯編語言生成一個簡單的編譯器後,可以用新生成的編譯器再次生成編譯器,例如,C語言開發C的編譯器呢?
這是一個遞歸的思想,舉個例子一看就明白了
用一個大的模具可以生成一個A模具,A模具可以做出來B模具,依次往下推,最終這個小模具可以做出來小盒子用來裝東西。
第一個大模具肯定是手工做出來的第一個模具,但是有了這個大模具後,後面就可以用他自動的生成更多的模具,後面的各種模具加起來又可以造出來更精緻的模具,
所以,自動第一個大模具造出來模具的時候,大模具就可以被拋棄了。
我們都知道編譯程序通常分為下面五個階段:
1)詞法分析
2)語法分析
3)語義分析與中間代碼產生
4)優化
5)目標代碼生成
當然最難的一點就是目標代碼的生成,這一階段實現了最終的翻譯,就是真正把原碼翻譯成可以被CPU直接計算的機器碼(NativeCode)。
Ⅱ c語言編譯器是用什麼於語言寫的
第一個C語言編譯器應該是用匯編寫的,但是第一個成熟的C語言編譯器應該是由匯編和C語言共同寫的。
編譯原理講到了「自舉編譯器」。大意就是先用底層語言(應該是匯編)寫一個能運行,但效率極低的C語言編譯器(底層語言不好優化),有了C語言的編譯器以後,就可以用C語言好好寫一個編譯器了,用之前那個運行沒問題,但效率低得編譯器編譯一下,就得到了可以使用的編譯器了。
Ⅲ 什麼是csharp 和visual studio
1、C Sharp
C#讀作C Sharp。C#是微軟公司發布的一種面向對象的、運行於.NET Framework和.NET Core(完全開源,跨平台)之上的高級程序設計語言。
C#是一種安全的、穩定的、簡單的,由C和C++衍生出來的面向對象的編程語言。它在繼承C和C++強大功能的同時去掉了一些它們的復雜特性。
2、visual studio
Microsoft Visual Studio(簡稱VS)是美國微軟公司的開發工具包系列產品。VS是一個基本完整的開發工具集,它包括了整個軟體生命周期中所需要的大部分工具,如UML工具、代碼管控工具、集成開發環境(IDE)等等。
所寫的目標代碼適用於微軟支持的所有平台。
(3)csharp編譯器用什麼語言擴展閱讀
c#語言結構
1、類:
一個基本的C#類中包含數據成員、屬性、構造器和方法。屬性可以是靜態或實例成員。在C#中類的聲明與C++和Java很相似。
2、布爾運算:
條件表達式的結果是布爾數據類型,布爾數據類型是這種語言中獨立的一種數據類型,從布爾類型到其他類型沒有直接的轉換過程,布爾常量true和false是C#中的關鍵字。
3、介面:
是其他類型為確保它們支持某些操作而實現的引用類型。介面從不直接創建而且沒有實際的表示形式,其他類型必須轉換為介面類型。
4、編譯:
程序直接編譯成標準的二進制可執行形式.但C#的源程序並不是被編譯成二進制可執行形式,而是一種中間語言(IL),類似於JAVA位元組碼。
5、類型:
C# 中的類型一共分為兩類,一類是值類型(Value Type),一類是引用類型(Reference Type)。