确定它是否是编程语言的标准

Jér*_*ôme 9 programming-languages turing-complete

告诉XY (或不是)编程语言所需的标准或基本功能什么?

我已经做了一些阅读(是HTML视为一种编程语言?,图灵完备,和其他人),来到一个语言或语法必须结束图灵完整被视为一种编程语言.它是否正确?够了吗?

我如何确定图灵是否完整?有没有具体的标准?

是否具有控制流结构(条件语句和循环)足以被视为图灵完成

Seb*_*olm 7

存在不是图灵完整的编程语言.有关非图灵完整语言的一些示例,请查看:实用的非图灵完备语言?

拥有非图灵完整语言的一个优点是,例如,它可能足以执行您需要的任务,同时又足够简单,允许您证明您的程序属性,否则您无法证明.例如,在知道程序运行无误的情况下,这可能很有用.

编程语言的确切构成有点模糊,但可以说它是一种可以表达计算的语言.如果我们查看HTML,您就无法创建计算任何内容的文档; 它只是告诉浏览器页面应该如何显示.需要注意的重要部分是,它不会计算任何新的东西.

正如马塞洛所说,它非常模糊.

至于确定一种语言是否图灵完整,我将向您推荐这个问题:评估语言"图灵完整性"的实用指南是什么?


Mar*_*tos 0

“编程语言”这个术语有些模糊。正则表达式构成编程语言吗?大多数程序员都会说是,即使正则表达式不是图灵完备的。

至于图灵完备性,我不是专家,但我认为有条件分支和无限堆栈就足够了(因此真机只能近似图灵完备性)。

编辑:经过一些研究,我发现这还不够。您需要至少两个堆栈和一些最小数量的状态(以及状态转换表)。

也许一个更实际的标准是,如果能够记住任意数量的状态和 do 循环,它可能就是图灵完备的。