首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >特罗夫图灵完成了吗?

特罗夫图灵完成了吗?
EN

Unix & Linux用户
提问于 2018-11-20 04:25:34
回答 2查看 2.6K关注 0票数 10

Troff既支持使用.de的宏定义,也支持使用.if的分支(参见木马用户手册的第5和第6页)。在这两个方面,它非常类似于TeX。但是,我不知道用Troff编写的非常复杂的程序(不像TikZ for TeX)。特罗夫图灵完成了吗?

EN

回答 2

Unix & Linux用户

回答已采纳

发布于 2018-11-20 04:29:57

ESR的Unix编程艺术声称它是:

我们将在第18章中更详细地研究troff;就目前而言,只需指出这是一个很好的示例,说明了一种命令式的小型语言,它几乎是一个成熟的解释器(它有条件和递归,但没有循环;它是偶然的图灵-完全)。

(“意外”与m4相对,后者被称为“故意图灵-完整”)。

票数 12
EN

Unix & Linux用户

发布于 2018-11-20 04:35:13

是的,托夫是图灵-完全的。它支持任意递归和条件分支,这是足够的。它还具有寄存器和各种其他存储数据的方法,这再次为您提供了另一条路径。

图灵完整性并不意味着高度复杂的程序是实用的--只是在某种程度上,它们在理论上是可能的--它的缺失也并不意味着它们不是完全的,所以无论是完全程序还是没有复杂程序,都不能从某种程度上说明这一点。

一般来说,图灵完整性并不是一个对用户有用的属性。这意味着你可以用它来模拟图灵机器,不是你想要的,也不是你从它得到的输出和你期望看到的一样。输入或输出可能只是一个数字,甚至是某物出现的次数,而不是一些有用的东西,而你最后模拟的机器种类和它们的程序通常一开始就很难理解。

许多语言和系统是偶然的图灵-完整,但不合理地适用于该子集中的任何实际编程(例如,康威的生命游戏或CSS),和一些对实际编程有用的语言不是图灵完整的(例如,Agda)。定义的特征实际上是你可以

  • 永远坚持下去
  • 记住你想要的多少数据
  • 选择下一步要做什么,如果有的话

通常,这些属性--尤其是非终止性--实际上是不可取的,可能也包括对掠夺者而言。除了理论上的计算机科学和语言设计之外,图灵完整性几乎在当时并不是一个非常有趣的属性,尽管它很吸引人。

票数 13
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/482881

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档