如何用c寫編譯器,如何用c寫一個編譯器

2022-07-11 07:56:38 字數 3256 閱讀 9802

1樓:雪v歌

先學編譯原理。

然後根據步驟,

1 處理預編譯

2 詞法分析

3 語法分析

4 語義分析

5 中間**轉換

6 二進位制**生成。

簡單起見,不需要考慮優化。 初期可以不需要支援太多語法。

怎樣去寫一個編譯器(用c語言寫c語言編譯器),需

2樓:

這個需要考慮到很多的問題 各種錯誤的型別 以及可能出現的情況

這個可以先去看看c編譯器的原理(最好是源**) 然後可以自己試著 編寫其中一部分實現的原理 如果是簡單的查錯 也要分析錯誤的型別等 修正方法

如何用c寫一個簡單的中文編譯器 20

3樓:聚發稿網

先學編譯原理。

然後根據步驟,

1 處理預編譯

2 詞法分析

3 語法分析

4 語義分析

5 中間**轉換

6 二進位制**生成。

簡單起見,不需要考慮優化。 初期可以不需要支援太多語法。

如何用c語言的做一個簡單的編譯器

4樓:風若遠去何人留

先學編譯原理。

然後根據步驟,

1 處理預編譯

2 詞法分析

3 語法分析

4 語義分析

5 中間**轉換

6 二進位制**生成。

簡單起見,不需要考慮優化。 初期可以不需要支援太多語法。

自己寫編譯器怎麼寫,我想為中國程式設計師做個編譯c語言的編譯器。

5樓:自娛自樂

計算機執行的是機器語言,二進位制的,編譯器的作用就是把高階語言(例如c語言)翻譯為計算機看得懂的機器語言二進位制,你要想做編譯器的話必須先要學會機器語言的二進位制命令,把這些命令以你自己的方式對應成另外一門高階語言,你的編譯器就用你的這種方式進行編譯。

6樓:匿名使用者

編譯器的編寫過程非常複雜,個人編寫不太現實。

因為編譯器的設計過程是將自動機理論、資料結構、演算法、計算機體系結構和作業系統等領域知識進行綜合的過程,所以編譯器設計者必須要有較好的電腦科學理論的背景。除了上述知識,編譯器編寫者還需要精通cpu的指令集。

7樓:匿名使用者

如果你想要效率高的話肯定是用匯編。。。

一本書老外寫的,叫編譯原理,那本書就是人家基於c語言編譯器寫的。

你可以自己去看看

8樓:矯情的蘭二瓜

這個有專門的圖書,可以去借閱,有專門解析和製作編譯器的書籍

9樓:匿名使用者

最好用c寫,編譯器效率才高,可以參考龍書《編譯原理》(機工出版社翻譯本)!

10樓:匿名使用者

1、第一個c語言編譯器應該是用匯編寫的,但是第一個成熟的c語言編譯器應該是由彙編和c語言共同寫的。

2、編譯原理講到了「自舉編譯器」。大意就是先用底層語言(應該是彙編)寫一個能執行,但效率極低的c語言編譯器(底層語言不好優化),有了c語言的編譯器以後,就可以用c語言好好寫一個編譯器了,用之前那個執行沒問題,但效率低得編譯器編譯一下,就得到了可以使用的編譯器了。

11樓:匿名使用者

寫出來沒? 沒有的話, 用習語言 吧 :)

12樓:匿名使用者

這個不好寫呀,能用好就不容易了

13樓:你丶好

似乎網上有類似產品了吧?易語言

14樓:歲月無聲_之

可以參照ucc。

這是個國人自己開發的編譯器,你可以查詢一下,有源**。

為什麼c語言的編譯器可以用c語言來寫?

15樓:匿名使用者

所謂c語言編譯器,就是copy把編bai程得到的檔案,du比如.c,.h的檔案,進行讀取,zhi並對內容進行分析,按照c語言的dao規則,將其轉換成系統可以執行的二進位制檔案。

其本質在於對檔案的讀入,分析,及處理。這些操作,c語言都是可以實現的。

所以用c語言來做c語言的編譯器是完全可行的。

但是,歷史上的第一個c語言編譯器,肯定不是c語言寫的,因為在沒有編譯器時,無法把c語言轉換成可執行檔案。

只要有了第一版其它語言的編譯器,就可以用c語言寫編譯器了。

事實上,目前大多數的c語言編譯器,都是用c語言寫的。

16樓:小樓微醉

其實語言 都是為了「生產」的需要而不斷演化而來的,語法只是一系列

專規則,在沒有屬c語言之前還有很多程式語言啊。(而c語言的誕生是為了編寫unix作業系統)所以你可以這樣想,第一個c語言編譯器使用其他神馬語言寫的 然後經過不斷的演化,c成熟後就可以生產任何程式了,當然也包括編譯器了。

17樓:匿名使用者

我是這樣想的,第一個copy編譯器肯定不是c語言,但是有了c編譯器就可以編譯c語言啦,編譯器也是程式對吧,二進位制**,可以執行,然後又用c語言寫更好的編譯器用現在的編譯器編成可執行**。我是這樣想的呵呵,好比地球上有了第一個生命,然後這個生命又孕育出了新的生命。

如何用c語言的做一個簡單的編譯器

18樓:元曜

c-free和vc++6.0都可以,比較推薦c-free吧,畢竟是有中文的,vc也有中文,不過是漢化過的,這兩者也沒啥區別,主要是vc不太相容win7和win8,畢竟較老了,而c-free可以相容win7,win8我不知道,沒在那裡用過,可以試一下c-free,這兩者都要在建立c檔案的之後加字尾.c才能儲存為c檔案

第一個c語言編譯器是怎樣編寫的

19樓:

任何一個功能

任何一個語言 都能實現

所以 關鍵的不在於語言 而在於 演算法

c語言被人設計出來

設計了它的語法和規則

然後 根據這個規則,用b語言(ken thompson發明的b語言,而 b語言則源自bcpl語言。) 加彙編 編寫了第一個c的編譯器

沒用多久

因為c語言更好用

於是 後續的c語言編譯器 都是c語言自己寫的了。

如何自己實現一個類c指令碼語言編譯器

如何用c 寫簡單的計算器程式,如何用c 寫一個簡單的計算器程式

include include include using namespace std void main cout number2 cin rightparstr leftparint atoi leftparstr.c str rightparint atoi rightparstr.c str...

如何用GCC在linux下編譯C語言程式

在linux下面 bai,如果要編譯 一個c語言源du程式,我們要使zhi用gnu的gcc編譯器,假設我dao們有下面一個非常內簡單的源程式容 hello.c int main int argc,char argv 要編譯這個程式,我們只要在命令列下執行 gcc o hello hello.c gc...

如何用C 將字串倒序排列,如何用C 將一個字串倒序排列

有漢字的話,要加一個if語句來判斷,然後i要自加2,因為漢字佔兩個位元組 include using namespace std int main b 0 cout buf return 0 兩個問題 i換成i 因為前者是先計算再引用,後面是先引用再計算b 將b指標向後移動,迴圈結束後b已經到了字串...