我找不到它,并且很好奇-如果它不符合条件,它缺少什么功能?我已经完成了相当数量的批处理,并且没有看到任何明显的能力下滑。
我相信它有资格。 Turing完整性的基本要求被认为可以简化为几个简单的操作,包括:存储状态的能力(变量),分支的能力(条件)和迭代的能力(循环)。批处理具有所有这些,因此除非对Turing完整性有一些尚未发现的要求,否则批处理脚本是合格的。
我刚刚通过批量创建一个Brainfuck解释器来证明批量已完成(因为事实证明Brainfuck已完成Turing的完整:]
https://github.com/yyny/Brainfuck-In-Batch
顺便说一句,图灵完整的编程语言意味着它的任何一种:
true
更改为false
并以其他方式更改仍然有效。对于批处理:SET A=5
)array[index];
。) >IF %A%==0 GOTO LABEL
(如果A为零,则跳转到标签),while (var) {/*code*/}
(当var不为零时跳转到代码的开头)或jmp0 exit;
(如果当前值在跳转时跳转,则退出)堆栈为零))传统的图灵机要求您的磁带两边都是无限的,但是简单的数组,字符串,表(对象)或二进制数(位域)也可以使用。例如,在我的“ Brainfuck批处理”中,我使用了类似数组/表的对象来存储内存(因为批处理允许您更改值的键,例如:SET ARRAY[%KEY%]=%VALUE%
)