c語言編寫簡單編譯器
Visual Studio
世界第一編譯器不解釋
不過如果電腦太渣還是選其他的吧,vs很占內存和C盤(即便安裝位置在別的盤)
❷ c語言編程:編一個文本編譯器。
樓主,你好!
以前數據結構大作業,寫過一個文本編輯器,命令行下的,還有些印象
基本的打開、保存文件的操作用標准IO庫提供的函數就行了,鍵盤操作當時用的是TC下的bios.h(貌似只有TC下才有),裡面有捕獲鍵盤輸入的函數,如CTRL+s保存文件之類的。查找操作選擇好適合的j數據結構,都有現成的演算法可以使用
下面是我以前用來參考的一個代碼(寫得比較粗糙),你也可以看一下
希望對你能有幫助吧
參考代碼已經發給樓主
❸ 我要編寫C語言程序運行起來,要下什麼編譯器
當然是C語言編輯器了,不過c語言編程程序包里不僅僅有C語言編程(編輯)器,也有C語言編譯器。可以在編輯器里直接調用的,也可以編譯完成後試運行的。還能在出現錯誤時,直接將BUG位置直接顯示在你的編輯編程界面里的。
❹ 怎樣去寫一個編譯器(用C語言寫C語言編譯器),需要哪些知識做鋪墊,可以給一下相關網站和書籍的推薦嗎
寫編譯器重點就是設計並實現一些數據結構和演算法,語言特點太多的話,代碼寫起來不容易,建議你找一個小語言嘗試下,不要一開始就去嘗試成熟語言。否則你會在寫完語法分析程序以後,遭遇到很大的困難。多數人都是在寫語義分析程序的時候,突然發現自己設計的數據結構很爛,後邊越寫越要命。
如果你想入門編譯器的話,那麼可以看《編譯原理與實踐》,整本書先將編譯器理論,然後後邊教你一步步實現c-miuns(c的子集)的編譯器,包括lex,yacc,都在幾千行代碼左右。這本書講的比較簡單易懂一點
也可以學學斯坦福大學的編譯器設計公開課(aiken設計了一個叫cool的語言,專門用來教人寫編譯器),課程地址上面有人給了:Compilers。這門課以前有個實驗環境(據說已經給了,我以前寫的時候還是用的網上一個不完整的實驗環境),把和編譯器知識無關的內容都給你寫好了,你只需要在固定的地方填上你的內容就可以寫出你的編譯器(不要覺得很簡單哦,人家的代碼寫的很精巧的,讀完就發現寫個好編譯器還是很費腦子的),另外,這個實驗環境有個特點,就是在每一步都提供標准程序做對比,你可以在寫完一部分以後就同標准程序對比,及時發現錯誤。這種方式為寫編譯器又提供了很多幫助
先找個小的,慢慢研究,弄懂了整體的結構再說
❺ 如何用C語言的做一個簡單的編譯器
先學編譯原理。
然後根據步驟,
1 處理預編譯
2 詞法分析
3 語法分析
4 語義分析
5 中間代碼轉換
6 二進制代碼生成。
簡單起見,不需要考慮優化。 初期可以不需要支持太多語法。
❻ 第一個C語言編譯器是怎樣編寫的
任何一個功能
任何一個語言 都能實現
所以 關鍵的不在於語言 而在於 演算法
C語言被人設計出來
設計了它的語法和規則
然後 根據這個規則,用B語言(Ken Thompson發明的B語言,而 B語言則源自BCPL語言。) 加匯編 編寫了第一個C的編譯器
沒用多久
因為C語言更好用
於是 後續的C語言編譯器 都是C語言自己寫的了。
❼ 常見的C語言編譯器是什麼
目前最流行的C語言編譯器有以下幾種:
1、GNU Compiler Collection 或稱GCC
GCC(GNU Compiler Collection,GNU編譯器套件),是由 GNU 開發的編程語言編譯器。它是以GPL許可證所發行的自由軟體,也是 GNU計劃的關鍵部分。
GCC原本作為GNU操作系統的官方編譯器,現已被大多數類Unix操作系統(如Linux、BSD、Mac OS X等)採納為標準的編譯器,GCC同樣適用於微軟的Windows。GCC是自由軟體過程發展中的著名例子,由自由軟體基金會以GPL協議發布。
2、Microsoft C 或稱 MS C
Microsoft C 是c語言的一種IDE(集成開發環境),常見的還有Microsoft Visual C++,Borland C++,Watcom C++ ,Borland C++ ,Borland C++ Builder,Borland C++ 3.1 for DOS,Watcom C++ 11.0 for DOS,GNU DJGPP C++ ,Lccwin32 C Compiler 3.1,High C,Turbo C等等......
3、Borland Turbo C 或稱 Turbo C
Turbo C是美國Borland公司的產品,Borland公司是一家專門從事軟體開發、研製的大公司。該公司相繼推出了一套 Turbo系列軟體, 如Turbo BASIC, Turbo Pascal, Turbo Prolog, 這些軟體很受用戶歡迎。
(7)c語言編寫簡單編譯器擴展閱讀:
C編譯的整個過程很復雜,大致可以分為以下四個階段:
1、預處理階段在該階段主要完成對源代碼的預處理工作,主要包括對宏定義指令,頭文件包含指令,預定義指令和特殊字元的處理,如對宏定義的替換以及文件頭中所包含的文件中預定義代碼的替換等,總之這步主要完成一些替換工作,輸出是同源文件含義相同但內容不同的文件。
2、編譯、優化階段編譯就是將第一階段處理得到的文件通過詞法語法分析等轉換為匯編語言。優化包括對中間代碼的優化,如刪除公共表達式,循環優化等;和對目標代碼的生成進行的優化,如如何充分利用機器的寄存器存放有關變數的值,以減少內存訪問次數。
3、匯編階段將匯編語言翻譯成機器指令。
4、鏈接階段鏈接階段的主要工作是將有關的目標文件連接起來,即將在一個文件中引用的符號同該符號在另外一個文件中的定義連接起來,使得所有的目標文件成為一個能夠被操作系統裝入執行的統一整體。
❽ 怎樣去寫一個編譯器(用C語言寫C語言編譯器),需
這個需要考慮到很多的問題 各種錯誤的類型 以及可能出現的情況
這個可以先去看看c編譯器的原理(最好是源代碼) 然後可以自己試著 編寫其中一部分實現的原理 如果是簡單的查錯 也要分析錯誤的類型等 修正方法
❾ 初學C語言,用哪個編譯器好
如果初學,建議使用
cfree
編譯
編輯一體,簡單好用,就像寫字板一樣,編寫好程序直接編譯運行,還有提示功能。
❿ C語言編譯器
目前比較流行的包括微軟的Visual C++,GCC, Turbo C等。
個人比較推薦GCC,對於初學者而言,雖然Visual C++比較快上手,它幫助開發人員快速新建工程,並添加工程相關代碼,只需要在這個平台之上直接開發代碼即可,但是這個平台把C語言的一些很關鍵的東西給省略了,例如Makefile,例如一些基本的庫函數的引用之類的。
GCC能讓開發人員從編譯器的角度出發,把程序的編譯,鏈接等一步一步都完全展示出來,而且也是建立的ANSI C的基礎上的,推薦GCC。開發者可以利用一些簡單的文本編輯器進行程序的編寫,然後通過GCC來編譯,這樣可以在起步就不收到包括Visual C++的限制,讓初學者可以更關注與整個程序的編譯過程。
當然如果說到調試方法的話,建議採用Visual C++,它提供的單步跟蹤功能確實非常好,不過在GCC下也可以用GDB進行操作,一起看個人的喜好。