Troff Turingは完全であるか。

Troff Turingは完全であるか。

Troffは以下を使用してマクロ定義.deと分岐をサポートします.if(5ページと6ページを参照)。トラフユーザーマニュアル)。両方の点でTeXに非常に似ています。しかし、私は(TeX用TikZとは異なり)Troffで書かれた非常に複雑なプログラムを知りません。 Troff Turingは完全であるか。

ベストアンサー1

はい、 troff は Turing Complete です。任意の再帰と条件付き分岐をサポートしているので十分です。また、レジスタとデータを格納するさまざまな方法があり、別のパスを提供します。

チューリングの完全性は非常に複雑なプログラムです実際- ちょうどそれらがあるレベルの削除では理論的に可能であるということです。そしてそれがないということはそうではないという意味ではありません。したがって、 troff はチューリング完全ではなく、いかなる方法でもそうすることができる複雑なプログラムがないというわけでもありません。何かその他の関連内容を暗示します。


一般に、チューリングの完全性は、ユーザーであるあなたにとって有用な属性ではありません。それはすべてあなたを意味しますできるこれを使用して、望ましくないTuringマシンをシミュレートすることも、それから得られる出力も期待したものと同じではありません。入力や出力は役に立たないだけではなく、数字だけでなく、何かが起こる回数でもあり、最終的にシミュレートされる機械の種類とそのプログラムは最初に理解しにくいことがよくあります。

多くの言語とシステムはTuring完全ですが、そのサブセット(ConwayのGame of LifeやCSSなど)の実際のプログラミングには適用されません。はい実際のプログラミングに役立つのは、Turing Complete(Agdaなど)ではありません。決定的な特徴は、実際にあなたができることです

  • 永遠に続く
  • できるだけ多くのデータを覚えておいてください
  • 次に実行するアクションの選択(該当する場合)

多くの場合、これらの属性(特に非終了性)は実際には望ましくなく、troffを含むことがあります。理論的なコンピュータサイエンスと言語設計を除いて、チューリングの完全性は当時はあまり興味深い属性ではありませんでしたが、実際には魅力的でした。

おすすめ記事