欢天喜地迎国庆,国产开源编程语言 RPP 1.87 发布!
2014-10-01 18:48
267 查看
更新如下:
1.支持超级宏
2.修复bug
下载地址:
https://github.com/roundsheep/rpp
超级宏可以任意定义语法,制约你的只有想象力:
下面是用RPP实现的BF解释器:
1.支持超级宏
2.修复bug
下载地址:
https://github.com/roundsheep/rpp
超级宏可以任意定义语法,制约你的只有想象力:
void main() { ==> 2 3 <== ┏━━━━━┓ ┃ 1 2 ┃ ┃ 3 4 ┃ ┗━━━━━┛ } mac$ ==> _word _word <== { putsl(rstr($0)+rstr($1)) } mac$ ┏━━━━━┓┃ _word _word ┃ ┃ _word _word ┃┗━━━━━┛ { putsl(rstr($0)+'--'+rstr($1)+'--'+rstr($2)+'--'+rstr($3)) }
下面是用RPP实现的BF解释器:
/* BF解释器,下面是一个BF版的Hello World: ++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>. */ void main() { code=getsl rbuf<int> data(30000) rf.memset(data.begin,0,data.size) pd=0 for pc=0;pc<code.count;pc++ switch code[pc] case `> pd++ case `< pd-- case `+ data[pd]++ case `- data[pd]-- case `. puts(rstr.format('%c',data[pd])) case `, data[pd]=rf.getch case `[ if data[pd]==0 pc=find< ++ >(pc,code,`[,`]) continue//这里也可用continued case `] if data[pd]!=0 pc=find< -- >(pc,code,`],`[) continue } int find<T>(int pc,rstr& code,int left,int right) { count=0 for i=pc;;i T if code[i]==left count++ elif code[i]==right count-- if count==0 return i }
相关文章推荐
- 欢天喜地迎国庆,国产开源编程语言 RPP 1.87 公布!
- 好消息!国产编程语言RPP 1.86 开源发布!
- Google发布新的开源编程语言GO
- 极速体验,国产编程语言R++1.81内测版发布
- 国产编程语言R++ V1.5发布
- kangle 3.1.5 发布,国产开源web服务器
- 国产Linux操作系统Prayaya Q3国庆发行版发布下载linux操作系统下载
- RPP 1.86 gamma 开源发布
- MYPM 国产非开源免费测试管理工具软件 WEB2.0用户体验零配置安装版本发布
- MYPM 国产非开源免费测试管理工具软件 WEB2.0用户体验零配置安装版本发布
- kangle 3.2.0 发布,国产开源web服务器
- kangle 3.0 发布,国产开源web服务器
- Google发布新的开源编程语言GO
- 国产编程语言R++ V1.5发布
- 国产开源新闻系统Kgcms v5.0.1发布
- 使用Gradle发布Android开源项目到JCenter
- 如何将自己写的开源库发布到 JitPack.io
- MvcPager 免费开源分页控件3.0版发布!
- jcseg-1.9.4 发布 - Java轻量级开源中文分词器-检测模式切分
- 【SDCC讲师专访】Swoole开源项目创始人韩天峰:PHP是最好的编程语言