Java实现BT编辑器

Brainfuck是一种极小化的计算机语言,它是由Urban Müller在1993年创建的。由于fuck在英语中是脏话,这种语言有时被称为brainf*ck或brainf**k,甚至被简称为BF

这种语言基于一个简单的机器模型,除了指令,这个机器还包括:一个以字节为单位、被初始化为零的数组、一个指向该数组的指针(初始时指向数组的第一个字节)、以及用于输入输出的两个字节流。
这种语言,是一种按照“Turing complete(完整图灵机)”思想设计的语言,它的主要设计思路是:用最小的概念实现一种“简单”的语言,BrainF**k 语言只有八种符号,所有的操作都由这八种符号的组合来完成
/*
关于这方面的内容我认为可以参照编译原理中语法分析器的相关内容,你甚至可以通过简单修改一下里面的代码来实现你的解释器。

关于变量定义的问题,你可以象你所描述的那样进行预定义,预定义的结构也很简单(类型关键字 + 一般字符串),还有一种方法,就是早期Basic的方法,它把所有的字符串(不包括带“”的字符串)都作为一个变量。在保存对象时你有两种选择,一、将所有的变量都定义为Object类型,当你保存实例时使用变量的实际类型,还有一种方法你可以将你的数据类型定义为String在实际的使用过程中再进行类型转换(由于你的应用比较简单所以推荐你使用第二种方法),然后你将变量名作为key和你创建的对象实例(Object)一起存入哈希表,以后你就可以通过变量名来使用这个实例了。
*/
这里写图片描述
(按照更节省时间的简单说法,”]”也可以说成“向后跳转到对应的”[“状态”。这两解释是一样的。)
(第三种同价的说法,”[“意思是”向前跳转到对应的”]”“,]意思是”向后跳转到对应的[指令的次一指令处,如果指针指向的字节非零。”)
Brainfuck程序可以用下面的替换方法翻译成C语言(假设ptr是char*类型):这里写图片描述
[Window Title]
Microsoft Windows Search 索引器

[Main Instruction]
Microsoft Windows Search 索引器 已停止工作

[Content]
Windows 正在检查该问题的解决方案…

[取消]

为了方便我们理解BrainFuck语言,大家可以下载一个很好的编译器,里面还有很多demo

http://download.csdn.net/detail/sm9sun/9721483

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值