中國語言編譯程序
我覺得水平還是很高的,但意義恐怕不大。編譯器技術是非常成熟的領域,而且由於應用場景的限
制實時,復雜的演算法已經自動出局了,你可選的東西是有限的。編譯器可能有很多實現的形
式,虛擬機/解釋器/靜態編譯器 等,也有成熟的開源實現。作為本科生,而非專門研究該分支的學生,應該合理分配自己學習的時間,如果做這個編譯器就干
掉了大半年,那計網和OS這些課程該咋辦?
我知道很多人會認為沒有做編譯器優化特指中段優化,不考慮機器碼上的優化比較劃水。但編
譯器優化是一個很復雜的東西:首先它和你用的IR表示有關而且是強烈耦合,SSA IR基本還
好,有開源代碼和文獻記載,你想要的都能在網上挖到但這怎麼體現你的水平是吧。你
要考慮編譯器的性能,盡管編譯器的後端優化基本上可以納入到某種PEabstract interpretation的
范疇中。
要不然你可以通過編寫插件的方式白嫖例如visual studio code這類軟
件的強大編輯功能,如果你寫的不是c compiler,你也可以盡量把語法設計得很像c,這樣你又能進一步
白嫖其強大的intellisense code,當然仍然有不少人或者應該說團隊達到了這一步,到這里,應該卷死
了99.99%的同行應該毫無問題。
❷ 易語言編譯器與C++的編譯器分別是什麼他們有什麼區別啊
C/C++語言編譯器
編輯
你可以用LCC-Win32開發32位的控制台程序、Windows常規程序、動態連接庫(DLL) 以及靜態連接庫(LIB)。LCC編譯器支持標準的ANSI C,同時支持 C語言的擴展。通過下載相關工具,LCC-Win32還提供對Eiffel、Fortran語言的支持。
1.Borland C++ Compiler 5.5
「Borland C/C++ 5.5.1 for Win32」是Borland公司在2000年免費放出的一個C/C++編譯器,其功能完整、包含多種SDK,且容量極小,安裝版本大小僅8MB。Borland公司的旗艦級產品「C++ Builder 5」內置的就是這一編譯器。
2.Dev-C++ 4.9.9.2
是Bloodshed軟體公司於2005年2月21日推出的一個基於MingW(即GNU C/C++的Win32版)的微型C/C++開發工具。由於使用了GNU C/C+內核,所以在做軟體移植時非常的方便,你可以方便的將一個程序移植到任意一個有GNU C/C++的平台。而且由於基於GNU C/C++的開放源代碼軟體很多,所以使用Dev-C++是一個很好的選擇。但由於它的調試不便,幫助不全等問題,也使得它在推廣上舉步艱難,遠比不上Borland C/C++、OpenWatcom C/C++這兩個同是免費的編譯器。
3.DJGPP
DJGPP是基於32位保護模式的C語言編譯器,是一個GNU軟體,換句話說,你可以得到它整個系統的源代碼,且可以任意修改。它的集成環境RHIDE是仿Borland C++ 3.1的,十分好用,這比Watcom C要強多了。
4.LCC-Win32
運行於Windows9x/Me/NT/2000下的免費的32位C語言編譯系統。它的原始發布文件只有 3M,但卻擁有一個功能強大的集成開發環境(IDE)、速度極快的編譯器與連接器、方便順手的調試器、資源編輯器和版本控制系統。另外還提供圖像編輯器和 C 語言源文件格式化縮進器等附加工具。通過它的應用程序向導,你可以單擊幾次滑鼠輕松得到一個應用程序框架,絲毫不比其它龐大的同類軟體遜色。
5.OpenWatcom C/C++ 1.0
Watcom系統編譯器是加拿大Watcom公司開發的Intel x86體系16/32位編譯器,其最新版是11.0c。
Watcom C/C++的集成開發環境極差,不像Borland C/C++和Visual C/C++那樣有漂亮的界面,編譯連結不過輕輕一點。Watcom C/C++的大部分使用者都在命令行下編譯程序。想想吧!一個需要在命令行下編譯程序的編譯器,怎麼匹敵Borland C/C++和Visual C/C++,甚至是C++ Builder呢?
當然,編譯器的好壞並不能單單從使用方便使用上來比較,專業的程序員最關心的是目標程序的質量。Watcom系列編譯器相比Borland編譯器和Microsoft編譯器有一個最大的優勢,那便是速度:用Watcom C/C++編譯出來的程序在速度上遠遠超越(記住,不是一點兒,是超越了許多)了Borland C/C++和Microsoft Visual C/C++編譯出來的程序。這樣一來,即使是沒有集成開發環境,程序員們也認了。這也是不少游戲程序員親昧於這個編譯器的原因。
現在我們所用到的OpenWatcom C/C++ 1.0便是Watcom C/C++ 11.0c開放後的版本,它是免費、而且開放源碼的。
6.當然還有我們經常看見的TC2.0 TC3.0 Borland C++3.1 等
參考資料:http://antare.bokee.com/3361182.html
需要付費的編譯器(有些允許有評估期的免費下載):
Borland C++
Comeau C++ - 支持多平台
Compaq C++
Digital Mars C++
Edison Design Group C++ Front End - 被許多C++編譯器廠商採用
Green Hills C++ - 支持嵌入式系統平台
HP C++
IBM C++
Intel C++ - 支持Windows, Linux, 和其他嵌入式系統
Interstron C++
Metrowerks C++ - 支持多平台,可從Metrowerks主頁上查詢
Mentor Graphics/Microtec Research C++ - 支持嵌入式系統平台
Microsoft C++
Paradigm C++ - 支持x86嵌入式系統
The Portland Group C++ - 針對奔騰CPU優化
SGI C++ - 優化的編譯器
Sun C++
WindRiver's Diab C++ - 用於很多嵌入式系統
來自:http://blog.sina.com.cn/s/blog_3e26cd0b010008d2.html
7. Microsoft Visual C++
Visual C++6.0不僅是一個C++編譯器,而且是一個基於Windows操作系統的可視化集成開發環境(integrated development environment,IDE)。Visual C++6.0由許多組件組成,包括編輯器、調試器以及程序向導AppWizard、類向導Class Wizard等開發工具。 這些組件通過一個名為Developer Studio的組件集成為和諧的開發環境。
版本由visual C++6.0發展到visual C++2008再到現在的visual C++2010(最新版)
Visual Studio 2010發布
2010年4月12日,Microsoft Visual Studio 2010全球發布會將於北京盛大舉行,我們特別邀請千位中國開發菁英與世界五大城市同步迎接跨世代開發工具!屆時,微軟全球資深副總裁張亞勤博士等多位微軟高層,以及來自微軟總部的多位核心研發團隊主管,將親臨發布會現場,共同為您解密微軟新一代開發平台的革新之處,幫助您實現更完美的Coding夢想!
對於易語言 網上沒有足夠的資料表明它用的獨立的編譯器 很多人都說是用的VC
用查殼工具發現易語言生成的PE文件編譯器為VC6.0,有人推斷易語言可能是在VC上架了一層,最終可能仍然是經由VC的編譯器進行編譯,可能是從易語言到C++,到匯編,再到機器碼,以上資料僅供參考
❸ 中國編程語言silk如何編譯運行
Silk可作為腳本語言嵌入任何文本中,包括HTML網頁,配置文件等,所以可以像PHP/ASP等語言一樣作為伺服器端腳本運行。
Silk編程語言是中國人自己的開源編程語言,它不僅具有Python的易用性,而且具有類似於C/C++的語法,它可以很容易地用C/C++調用,可以讓人們像Python一樣輕松地編寫C風格的代碼。
❹ c++是哪個公司出的
C++,這個詞在中國大陸的程序員圈子中通常被讀做「C加加」,而西方的程序員通常讀做「C plus plus」,它是一種使用非常廣泛的計算機編程語言。C++是一種靜態數據類型檢查的,支持多重編程範式的通用程序設計語言。它支持過程化程序設計、數據抽象、面向對象程序設計、製作圖標等等泛型程序設計等多種程序設計風格。
美國AT&T貝爾實驗室的本賈尼·斯特勞斯特盧普(Bjarne Stroustrup)博士在20世紀80年代初期發明並實現了C++(最初這種語言被稱作「C with Classes」)。一開始C++是作為C語言的增強版出現的,從給C語言增加類開始,不斷的增加新特性。虛函數(virtual function)、運算符重載(operator overloading)、多重繼承(multiple inheritance)、模板(template)、異常(exception)、RTTI、名字空間(name space)逐漸被加入標准。1998年國際標准組織(ISO)頒布了C++程序設計語言的國際標准ISO/IEC 14882-1998。C++是具有國際標準的編程語言,通常稱作 ANSI/ISO C++。1998年是C++標准委員會成立的第一年,以後每5年視實際需要更新一次標准,下一次標准更新將是在2009年,目前我們一般稱該標准C++0x。遺憾的是,由於C++語言過於復雜,以及他經歷了長年的演變,直到現在(2004年)只有少數幾個編譯器完全符合這個標准(這么說也是不完全正確的,事實上,至今為止沒有任何一款編譯器完全支持ISO C++)。
另外,就目前學習C++而言,可以認為他是一門獨立的語言;他並不依賴C語言,我們可以完全不學C語言,而直接學習C++。根據《C++編程思想》(Thinking in C++)一書所評述的,C++與C的效率往往相差在正負5%之間。所以有人認為在大多數場合C++ 完全可以取代C語言(然而我們在單片機等需要謹慎利用空間、直接操作硬體的地方還是要使用C語言)。
❺ 很奇怪為什麼國內沒有任何組織或個人開發最底層的中文編譯器呢
這是一個技術問題,你如果沒讀過編譯原理(龍書)的話,你是看不懂下面的回答的。因為中國技術不足,沒人能寫出支持中文的lex和yacc。首先詞法分析生成器lex,就對中文不友好,它只支持ascii字母,不支持中文。這意味著你編譯器里的詞彙只能是英文單詞,不能是中文詞彙。其次就是語法分析生成器yacc了,也不支持中文,只支持用英文寫的語法規則,不能用中文書寫。這意味著最最基本的語法規則是全英文的,這算哪門子中文編程語言。非常遺憾,中國目前沒有牛人造出支持中文的lex和yacc來,否則全中文編譯器一定會滿天飛的,多到爛大街。為什麼說多到爛大街?一個全中文的編譯器其實僅僅需要修改編譯器的前端詞法分析器和語法分析器(語法分析器甚至無需大改動),後端直接對接開源代碼即可,開源英文編譯器已經爛大街了,把它們的後端移植過來就行了。但關鍵就是沒有支持中文的自動化工具lex和yacc。
自動化這條路走不通,純手寫總可以吧。我猜測易語言就是前端純手寫的全中文編譯器。你可以使用易語言,絕對可以達到你的要求。但是從技術的角度來講,lex和yacc的技術高度遠高於易語言,畢竟lex和yacc號稱編譯器的編譯器,編譯器之母。
❻ 自己寫編譯器怎麼寫,我想為中國程序員做個編譯C語言的編譯器。
1、第一個C語言編譯器應該是用匯編寫的,但是第一個成熟的C語言編譯器應該是由匯編和C語言共同寫的。
2、編譯原理講到了「自舉編譯器」。大意就是先用底層語言(應該是匯編)寫一個能運行,但效率極低的C語言編譯器(底層語言不好優化),有了C語言的編譯器以後,就可以用C語言好好寫一個編譯器了,用之前那個運行沒問題,但效率低得編譯器編譯一下,就得到了可以使用的編譯器了。
❼ 為什麼編程都是英文為什麼中文不能編程序
編程都是英文,中文不能編程序的原因:
1、編程的起源不在中國 : 計算機的起源在美國,自然而然的優先使用了英文。而漢字太多,多音字也很多,用命令的時候會變得很慢。
2、流通性差 : 英語目前還是全世界最通用的語言(雖然現在全世界都在學中文,但還需要個周期),幾乎也成為了不同語種國度之間的共同語言,那中文相對來說流通性還是要差上許多,所以程序員們在互相交流的時候會難達成共識,就無法共同進步。
3、體系不夠成熟 : 盡管機器只有0和1那麼簡單,但要用一種語言通過0和1表達人類的所有想法,設計這樣一個龐大的體系談何容易。現在匯聚的全人類智慧發展了幾十年的高級語言,依然還是存在很多問題的。
4、成本高 : 想用中文編程,只能有兩種方式,一是在原有硬體基礎上,將中文編程轉成英文編程再轉成機器語言;二是要重新定義硬體,重新設計製作符合中文編程的硬體。那這兩種方式的成本是相當高的。
(7)中國語言編譯程序擴展閱讀
編程語言的起源和發展
第一代語言:機器語言
機器語言(machine language)是一種指令集的體系。這種指令集,稱機器碼(machine code),是電腦的CPU可直接解讀的數據。
第二代語言: 匯編語言
匯編語言(assembly language)是一種用於電子計算機、微處理器、微控制器或其他可編程器件的低級語言,亦稱為符號語言。在匯編語言中,用助記符代替機器指令的操作碼,用地址符號或標號代替指令或操作數的地址。
在不同的設備中,匯編語言對應著不同的機器語言指令集,通過匯編過程轉換成機器指令。特定的匯編語言和特定的機器語言指令集是一一對應的,不同平台之間不可直接移植。
第三代語言:
結構化語言、面向對象語言。
❽ 中文編程語言有哪些
易語言是一門以中文作為程序代碼的編程語言,其以「易」著稱,創始人為吳濤。易語言早期版本的名字為E語言。其最早版本的發布可追溯至2000年9月11日。創造易語言的初衷是進行用中文來編寫程序的實踐,方便中國人以中國人的思維編寫程序,並不用再去學習西方思維。易語言的誕生極大地降低了編程的門檻和學習的難度。從2000年以來,易語言已經發展到一定的規模,功能上、用戶數量上都十分可觀。
易語言,於2000年開始開發,是一款全中文、全可視、跨平台的編程語言。除了易語言還有習語言家族,其中習語言:是中文C語言編程系統。還有O匯編語言等。
高級計算機語言程序中任何標識都可使用中文字、詞、片語和句子的語言文法,又有與中文相匹配的語言語法規則可稱為漢語編程語言,使用這種語言編寫的程序的過程就是中文編程。
中文編程技術關型伍禪鍵不是簡單程序編寫漢字標識使用,而是程序代碼的編譯技術必須自己掌握,編程與編譯必須互為統一發展。
中文名
中文編程
外文名
Chineseprogramming
地位
打破了英文編程語言的壟斷
開發時間
上世紀七十年代以來
提到編程語言,我們所了解的也是比較廣為人知的一些主流編程語言,如Java、C/C++、Python、PHP等。那除了這些編程語言,你有了解過中文編程語言嗎?如果沒有,那今天這篇文章就帶你簡單了解一些有趣的中文編程語言。
1、易語言
易語言可以說是中文編程語言的老大,擁有獨立的編譯器。易語言並不是把現存的編程工具進行表面漢化而成的,和其他國外語言相比,「易語言"最大的不同是徹底中文化,且擁有自下而上的全部自主知識產權。
易語言的全新版本叫做「易語言.飛揚」,包含垃圾收集機制,是完全面向對象的中文編程語言:
和其他中文編程語言相比,它是最成熟的,而且同時具備了一套完整的開發環境。
2、習語言
習語言即中文版的C語言,由一套完備的編程語法和相配套的工具組成,旨在將計算機及軟體編程大眾化,普及化,中文化,提高程序的維護性而誕生。
習語言家族:
3、丙正正
丙正正是一個能令人使用中文開發程序的編譯器,提出者為魏澤人。它是中文編程語言的嘗試。丙正正會將含有中文的原始碼變成可被gcc編譯的[C++]原始碼,並透過宏定義(#define),達到完全使用中文開發程序的目的。後期的版本中,編譯器gcc及除錯器gdb傳
回的變數名稱,也會被翻成中文,以利於除錯。
4、PerlYuYan
PerlYuYan是一個能令人使用中文文言文開發程式Perl程式的Perl模組,由唐鳳於2002年一月發表,只花了兩個小時就實作完成。它是中文編程語言的嘗試。作者利用中文的特質,將許多指令改成以一個卜塵中國漢字來表示,因而造成了文言語法的感覺。
5、中蟒
中蟒是一套基於Python即時編譯語言的中文編程語言。除了保留字,變數名稱可用中文外,很多內建數據類型的操作都可用中文_進行。
6、周蟒
周蟒,又名zhpy,是一個輕量的,與Python語言互相兼容的中文Python語言。讓使用者可以使周蟒用純中文語句(繁體或簡體)來編寫程式。目前主要適用於教學上。
7、O語言
O語言是一款中文計算機語言(或稱套裝),包括O匯編語言、O中間語橘弊言和O高級語言等,其中窗口設計、界面描述語言、O中間語言已經能很好的整合在一起。
O中間語言可以說是匯編語言的抽象,它和匯編語言-樣,使用單句的語法,除了基本的條件句和函數調用外,基本的一條指令對應一條語句,因此,它比C語言在語法上更低級一些。這樣設計的目的是為了保持底層足夠大的靈活性,使前端代碼比較容易地映射到中間語言。C語言毋_置疑是很強大,Pascal語言也非常強大,但是你很難將兩者代碼進行相互轉換,如果使用中間語言作為中間層,就能夠兼容兩者的語法。
8、中文培基
中文培基是Basic語言的中文本地化版本(八十年代初就有了,不可思議吧,可是,第一門中文編程語言其實從七十年代就有了,其平台是DOS。
其實,中文perl、中文Pascal、中文Cobol、中文LOGO和中文Basic這些明顯的本地化語言都是有的。
我覺得中文編程語言可以按照中文的深度這樣兩種:
01本地化其它編程語言。比如上文介紹過的「丙正正」(題外話:為什麼叫「丙正正」呢?因為原語言叫「C++」嘛)。
02漢語內核語言。包括「易語言」等。這種語言才能說是一門「真正的語言」,要不然只能說是語言+一個漢化包而已
第一個:易語言,原名叫e語言。是中國人開發的第一款編程語言,以「易」著稱,是因以簡體中文為程序代碼進行編程操作。創始人是吳濤,創造易語言的初衷是用中文來編寫程序的實踐。從2000年至今,易語言已經發展到一定的規模:功能上、用戶數量上都十分可觀。易語言的特點有6個,1:用全中文編程,圖像化編程,容易學;
2:中國人客服的平台;
3:功能強大;
4:可以與其它編程體系相兼容;
5:強大的資料庫功能支持;
6:完善的網路,埠通訊和互聯網功能支持。這些便是易語言的特點。
第二個:易安卓,簡稱E4A,也是中國人開發的中文編程語言,在2013年06月01日正式發布的,是全中文AndroidAPP開發語言。這款e4a類似易語言的Basic語法,只要你會易語言就會e4a安卓開發工具。e4a也和易語言一樣有可視化開發環境,以及強大的智能語法提示功能。也是純中文編寫代碼,也無需記英語,學英語。目前e4a還處於初級階段,還在完善中。
❾ 易語言編譯和靜態編譯的區別
1、庫文件和程序文件不同,編譯是把支持庫文件和程序分開來,如果給別人去用,別人卻沒安裝易語言,就要把支持庫文件帶上給那人才能用。但是靜態編譯是把支持庫文件打包到程序里去.這樣,如果對方沒裝易語言也照樣可以正常使用和獨立編譯。