欢天喜地迎国庆,国产开源编程语言 RPP 1.87 公布!
2017-06-16 09:08
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 开源发布!
- 接地气又好用,8 款优秀的国产开源博客系统推荐
- 10款GitHub上最火爆的国产开源项目
- 热烈庆祝国产编程语言R++1.8研发成功
- SourceForge公布了“开源奥斯卡”的获奖软件
- kangle 3.2.0 发布,国产开源web服务器
- CSDN开源夏令营项目进入第一实习期,入选名单和优秀开题报告推荐名单公布
- 世界杯与国产开源(三)-团队之星
- 世界杯与国产开源(六)-尾声
- 世界杯与国产开源(三)-团队之星
- 国产开源环境的是非,《80前》一文引起的争论
- 世界杯与国产开源(五)-“君子剑”
- 国产开源项目的七宗罪
- 苹果应该将Swift编程语言开源的7个“是与非”!
- kangle 3.0 发布,国产开源web服务器
- 致敬!这些老外的开源技术养活了一票国产软件
- 几款国产开源的Windows界面库
- TIOBE 于今日公布了2012年1月编程语言排行榜
- 开源领袖Eric Raymond对主流编程语言的评价