中国语言编译程序
我觉得水平还是很高的,但意义恐怕不大。编译器技术是非常成熟的领域,而且由于应用场景的限
制实时,复杂的算法已经自动出局了,你可选的东西是有限的。编译器可能有很多实现的形
式,虚拟机/解释器/静态编译器 等,也有成熟的开源实现。作为本科生,而非专门研究该分支的学生,应该合理分配自己学习的时间,如果做这个编译器就干
掉了大半年,那计网和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、库文件和程序文件不同,编译是把支持库文件和程序分开来,如果给别人去用,别人却没安装易语言,就要把支持库文件带上给那人才能用。但是静态编译是把支持库文件打包到程序里去.这样,如果对方没装易语言也照样可以正常使用和独立编译。