1

昨日、私は と呼ばれるプログラミング言語に関するこの記事をインターネットで見つけましたBrainFuckhttp://www.muppetlabs.com/~breadbox/bf/

だから私はこれが不思議です

  Brainfuck is the ungodly creation of Urban Müller, whose goal was apparently 
to create a Turing-complete language for which he could write the smallest
compiler ever, for the Amiga OS 2.0.  His compiler was 240 bytes in size. 
(Though he improved upon this later -- he informed me at one point that
he had managed to bring it under 200 bytes.)

では、それは本当に今日のチューリング完全プログラミング言語の最小のコンパイラなのでしょうか? とにかく、より小さなコンパイラが存在しないことが証明されていますか?

この分野での成果はありますか。とても興味があります.チューリング完全なプログラミング言語のコンパイラのサイズの最小値はありますか?その値は何ですか?

4

1 に答える 1

11

可能な限り最小のBrainFuckコンパイラのサイズは、完全にマシンに依存します。したがって、特定の値について話す場合は、それが実行されているアーキテクチャを常に考慮する必要があります。

可能な最小のBrainFuckコンパイラは0バイトです

このコンパイラが実行されているアーキテクチャには、Brainfuckソースコードをネイティブに解釈できるbeeingという優れた特性があります。プログラムの出力が入力と同じメモリ位置にあるという、さらに優れた特性を備えています。

その場合、可能な最小のBrainFuckコンパイラのバイトコードは""です。このプログラムはすぐに終了するため、入力に変更を加えることはありません。したがって、このプログラムからの実行の出力は、常にこの実行からの入力と等しくなります。アーキテクチャはBrainFuckをネイティブに実行できるため、このプログラムはBrainFuckソースコードをこのアーキテクチャのバイナリコードに変換します。したがって、このプログラムはこのアーキテクチャ用のBrainFuckコンパイラです。

リアルワードアーキテクチャ

残念ながら、上記のアーキテクチャは実際のアプリケーションには適用できませんが、BraickFuckにも適用できません。

于 2011-12-02T14:43:47.033 に答える