用WHILE语言测试新语言的最简单方法是什么?

去年,我一直在研究简单的2D视频游戏编辑器。即使我已经能够实现到目前为止尝试过的任何游戏,但我还是要从理论上验证其通用性。我的想法是通过与WHILE语言(相当相似)检查它的等效性或通过证明它是turing Complete来验证它。

编辑器制作的游戏具有以下功能:

  • 只有一种游戏对象类型。类似于多智能体系统中的智能体。
  • 它们共享同一组属性(几何,渲染,物理,音频等),并且如果需要,还可以存储新属性(数字和布尔值)。
  • 每个游戏对象可以根据需要具有任意数量的脚本。它们是按顺序执行的。
  • 脚本被定义为由条件和动作组成的二进制决策树(具有IF-THEN-ELSE嵌套结构)。
  • 条件用于引导脚本流,它们依赖具有关系运算符(=,!=, =,>)的布尔表达式。没有逻辑运算符,例如AND或OR。编辑器仅提供5种不同的条件。
  • 动作是用于创建或销毁游戏对象或修改其属性的元素。其操作基于算术表达式。总共,编辑器只有6种不同类型的动作。
  • 此外,编辑器不允许使用复杂的数据结构,例如向量或列表。

我的语言和WHILE语言之间的区别:

  • 它没有循环。相反,它依赖于对游戏循环的持续评估。这样,就有了一个全局隐式循环。
  • 它没有SKIP命令。

直到今天,我已经能够完成我尝试过的所有游戏的开发。其中一些是著名的街机游戏,例如Asteroids,Blocks,Frogger,Lunar Lander,Pacman,Pong,Tetris或MarioBros。到目前为止,我还没有发现任何我无法开发的东西。我什至实现了A *算法。

直到今天,我已经能够完成我尝试过的所有游戏的开发。其中一些是著名的街机游戏,例如Asteroids,Blocks,Frogger,Lunar Lander,Pacman,Pong,Tetris或MarioBros。到目前为止,我还没有发现任何我无法开发的东西。我什至实现了A *算法。

有了这一切,用WHILE语言测试等效性的最简单方法是什么?我想正式验证并证明我的语言允许我进行任何游戏。

iCMS 回答:用WHILE语言测试新语言的最简单方法是什么?

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/2115607.html

大家都在问