自定义计算语言编译器.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
自定义计算语言编译器

* * * * * * * * * * * * * * * * * * * * 概要 N语言的定义 N语言是一种自定义的编程语言,基于C语言基本语法及实现,将繁杂长度惊人编写不便的关键字替换成简洁明了易于编写便于记忆的单个汉字,简化了编程过程。如将if-else改为若-其,减少输入过程,便于观察编写。基于C语言是因为C语言是全世界生命力最顽强的语言之一,不依赖于任何虚拟机,不像java一样需要依赖于JVM或者C#需要.NET Framework,它是最基本的语言,便于实现,有通用性,能被任何程序调用。保留了C的字符如“*”,“#”等,可以调用库函数,继续操作指针。 N语言 关键字替换: include 含,define 定,ifndef 未,endif 束,sizeof 量,case 选,default 默,typedef 型,struct 构,union 联,enum 举,if 若,else 其,for 条,do 做,while 当,switch 转,goto 去,break 破,continue 继,return 返,const 常,auto 自,unsigned无,signed 有,volatile 易,register 寄,static 静,extern外,short 短,long 长,void 空,char 符,int 整,float 精,double 双,__int8 整8,__int16 整16,__int32 整32,__int64 整64 汉语编程意义 如今的编程都是基于英语,想要编程起码得掌握英语这门已经被高考抛弃的语言。即使学习了英语,庞大又混乱的英语词库又成了挡在文档和实现之间的拦路虎。即使掌握了编程思想,过不了英语这一关,很多时候连最基本的文档都无法借鉴,只好自己想方法实现那些已有的东西,很是浪费时间。汉语编程,比较知名的如“易语言”,一直都在努力地试着改变中国人编程的方式,想把编程的门槛降低到只要认识汉字就能编程,就能方便地掌握编程思想的地步。N语言这个自定义编程语言就是基于此目的,将中国传统文言文的简明融入编程语言,试着将编程变成一件充满艺术感的创作,让更多人加入到全球信息化的浪潮。由于水平有限,这一设计仅仅是简单地将C语言的关键字做了汉化处理,相信在经验逐渐增加的未来,这一语言会发展壮大。 c语言编辑器 由于现在的N语言还不是非常健全,完全基于C语言,搭建在其框架上,所以想法就是先创建一个类似于vim的编辑器,然后集成windows系统下gcc或者linux系统中内置的tcc完成对C语言的编译。 C语言编辑器主要实现了语法高亮、函数折叠、函数列表、自动完成、重新排版、编辑器配色、查找-替换、撤销-重做、复制-剪切-粘贴、行号显示等功能。 界面 打开文件 保存文件 撤销 重做 复制-剪切-粘贴 查找 查找-替换 编译 运行 重排版 自动注释 函数列表 N语言功能集成 N语言功能的集成 将汉字关键字加入到key word list中 把保存的文件读出然后将其中的汉字换成原关键字,再传给gcc/tcc,实现对N的编译。 N语言示例程序1 #含 stdio.h 整 主() { 印(“哈哈我是N”); 返 0; } N语言示例程序1演示 N语言示例程序2 #含 stdio.h 整 主() { 印(“大家好我是N!\n\n”); 整 a=1; 当(a10) { 若(a=5) 印(“a=5,a=%d\n”,a); 其 印(“a5,a=%d\n”,a); a++; } 印(“\n”); 整 x,y; 条(x=1;x=9;x++) { 条(y=1;y=x;y++) 印(“%d*%d=%d\t”,x,y,x*y); 印(“\n”); } 返 0; } N语言示例程序2演示 致谢 这次的毕业设计,首先要感谢我的指导老师毛勤斌老师,在毛勤斌老师的帮助下,我才能从当初刚拿到题目时的一无所知到后来逐渐有了思路,想到要怎么样去设计和完成这次的毕业设计。 毛勤斌老师对于我的本次毕业设计给予了非常大的帮助,在程序每次出现bug或是其他问题时耐心帮助我解决。其次,我要感谢我的校内指导老师孟亮,他为具体开发还有论文的撰写提出了非常多的宝贵意见,因此我要对毛勤斌老师和孟亮老师的帮助表示衷心的感谢!此外,我还要感谢在本次毕业设计中给予我帮助的同学们,如果没有老师还有同学的帮助和指导,我是不会顺利完成本次的设计任务的。最后,我还要感谢学校的领导以及老师为我们创造的良好的学习生活环境

文档评论(0)

189****7685 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档