一个简单的parser

所有的内容基于《两周自制脚本语言》。

原文中使用Java编写。鉴于本人不怎么会写Java(书里面有好奇怪的语法,不懂(逃)),便用C#写了一个简单的parser。

 

代码输入格式:

1:
i=2+3*3/(4-2)
2:
i=1;
if(i)
{
i=2;
}

3:
i=4;
sum=0;
while(i)
{
i--;
sum = sum +i;
}
sum;

4:
fun name(i,j){ i+j;}
name(2,3);
name(3,6);

5:
kk = fun name(i,j,k){i+j+k;}
kk(1,2,3);
kk(1,2,6);

6:[call c# static function]
invoke("System.Console","WriteLine","helloworld");

or[some shortcuts in this parser]
invoke("print","helloworld");

invoke("time");

截图如下:

1:

2:

 

不能使用递归,这是我留的一个bug,只是有点不想改而已,感觉添加递归会很慢。

毕竟是java,╮(╯▽╰)╭,都不知道为何看作者写的代码这么别扭(好吧,我只是觉得 类似【@XXX】 很费解,)。虽然是按照书上来的,但鉴于java不熟悉,里面很多细节全都是我自己乱想的,可以说没什么优化。权当学习编译原理了。

有兴趣的可以去https://github.com/kalluwa/HelloWorld 自己研究。

转载于:https://www.cnblogs.com/kalluwa/p/4235896.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/492616.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

向机器理解人类行为迈出一小步

一名被试人员正在键盘上打字来源:《中国科学报》摘要:近日,《中国科学报》采访了CCF优秀博士学位论文奖获奖者、清华大学博士易鑫及其导师史元春教授,深入报道了他们对人机自然交互研究的最新进展。随着信息技术的发展&#xff0c…

邬贺铨院士:工业互联网ICT的新挑战来(附PPT照片)

来源:走向智能论坛摘要:2月21日,由中国信息通信研究院、工业互联网产业联盟、中国通信学会联合主办的2019工业互联网峰会在北京召开。中国工程院院士邬贺铨做题为“工业互联网ICT的新挑战”的主旨演讲。尊敬的苗部长、赵院长、张总&#xff0…

计算机视觉及智能影像报告:未来规模超200亿美元

来源:网易智能近日,Forrester咨询公司对中国计算机视觉及智能影像市场进行了调查,访问了包括研究机构、科研院校、投资机构以及部分互联网企业,视频行业企业,针对以视频行业为代表的文娱产业中人工智能的应用趋势、面临…

权威报告丨2018-2019 新型互联网生态研究报告摘要

来源:商业伙伴摘要:核心观点:1、传统ICT企业与互联网企业,正在相互进入对方业务领地;2、新型互联网企业既有互联网的基因,又专注于B端企业级市场;3、政府、金融与制造是新型互联网市场规模最大的…

【杂】如何修复视频--> Wondershare Repairit

近日换宿舍,从一个校区搬到另一个校区,突发奇想决定用相机录一点视频~ 浅浅尝试一下录vlog才发现做短视频也并非想象中那般容易,尤其是构思内容和文案,并且实施起来也会有很多问题,比如手拿着相机录真的很抖o((⊙﹏⊙)…

中国独角兽企业总榜发布:百亿超级独角兽达13家(附榜单)

来源:悟空智能科技摘要:这份榜单中的独角兽企业均为2018年有外部融资且估值超10亿美元的优秀企业,中国共有203家企业上榜。这203家独角兽企业涉及金融、文化娱乐、汽车交通、企业服务、物流、硬件、本地生活、医疗健康、电子商务、房产服务、…

一文读懂图像传感器

来源:传感器技术图像传感器是各种工业及监控用相机、便携式录放机、数码相机,扫描仪等的核心部件。目前,这个快速增长的市场现在已经延伸到了玩具、手机、PDA、汽车和生物等领域。图像传感器图像传感器定义及种类图像传感器应用成像物镜将外界…

MyEclipse配置Tomcat 6

打开首选项 禁用MyEclipse自带的Tomcat 6 下载apache-tomcat-6.0.29.tar.gz 地址:http://yunpan.cn/cKg6kq2RmjdUB 提取码 986a 地址:http://pan.baidu.com/s/1kTDqZiv 下载后只需要解压即可使用。 配置下载的Tomcat 6地址 转载于:https://www.cnblogs.…

一文读懂5G:颠覆生活资费天价?

来源:网易手机当我们还在习惯于用非智能机慢速浏览web网页的时候,3G网络悄然而至,当我们认为3G已经能够满足日常所需的时候,4G已经走入了我们的生活,而当我们直到今天,依然感叹于4G的快速时,更加…

6分钟完成ImageNet训练,NVIDIA创下六项AI性能新记录!

来源:智东西自AlphaGo引爆人工智能大潮以来,其中的大热门——机器学习,不仅在计算机视觉、语音处理等领域不断突破技术的瓶颈,而且开始快速普及到安防、金融、医疗等多个传统行业。从刷脸支付到个性化推荐,机器学习已经…

一文看尽2019 MWC十大新机

来源:网易智能、网易手机一年一度的世界移动通信大会(MWC 2019)在巴塞罗那正式拉开了帷幕,今年的MWC因为有了折叠屏的加入,看点更足,同时随着5G技术与5G设备的推进,整场大会逛下来,相…

新型人造DNA结构信息密度加倍

来源:中国科学报脱氧核糖核酸(DNA)中存储着遗传代码。它由4种核苷酸组成,以4个不同字母表示。美国研究人员最新合成一种由8个字母组成的新型DNA结构。其信息存储密度加倍,未来有望应用于合成生物等领域。DNA是存储及传…

未来的农业没有农民

来源 : science robotics作者 :Senthold Asseng、Frank Asche编译:机器之能 微胖摘要:本文取自最新一期Science Robotics 的Future farms without farmers 一文。文章认为,未来农场的所有组成部分已经存在。随着时间的…

模式识别与机器学习笔记(一)

本系列博文是对研一课程《模式识别与机器学习》的随堂笔记,希望将老师所讲的与自己的见解记录下来,方便加深自己的理解以及以后复习查看,笔记完全按照老师所讲顺序,欢迎交流。 一、模式识别与机器学习的基本问题 机器学习主要解…

重磅推荐:中国人工智能趋势报告(完整版)

未来智能实验室是人工智能学家与科学院相关机构联合成立的人工智能,互联网和脑科学交叉研究机构。未来智能实验室的主要工作包括:建立AI智能系统智商评测体系,开展世界人工智能智商评测;开展互联网(城市)云…

模式识别与机器学习笔记(二)机器学习的基础理论

机器学习是一门对数学有很高要求的学科,在正式开始学习之前,我们需要掌握一定的数学理论,主要包括概率论、决策论、信息论。 一、极大似然估计(Maximam Likelihood Estimation,MLE ) 在了解极大似然估计之…

Cell Stem Cell:研究人员开发出大脑类器官用于研究认知障碍!

图片来源:Cell Stem Cell来源:细胞摘要:来自耶鲁大学的研究人员近日在实验室培养皿中模拟了两种大脑结构以及它们之间的相互作用,为揭示神经精神疾病的起因带来了曙光。耶鲁大学遗传学副教授In-Hyun Park及其团队创造了大脑中丘脑…

图像处理与图像识别笔记(一)

本系列是研一课程《图像处理与图像识别》的随堂笔记,主要内容是数字图像处理方面,根据老师的讲课内容与自己的理解所书写,还会有一些具体实现的代码,基于Python,欢迎交流。本篇主要介绍图像处理与图像识别的基础知识。…

java日期处理总结

1.java.sql.Date 从数据库中取出的日期格式(rs.getDate())是java.sql.Date,这是java.util.Date的子类。查询API后发现可用的方法很少。包含构造只有4个: Date(long date) 使用给定毫秒时间值构造一个 Date 对象。voidsetTime(long date) …

神经网络的黎明

来源:中信出版社摘要:任何人工智能的难题都可以被解决。唯一能证明这一论断成立的是这样一个事实:自然界通过进化已经解决了这些难题。但在20 世纪50年代就已经存在各种暗示,如果AI 研究者能够选择完全不同于符号处理的方式&#…