固定アルファベット(ASCIIなど)の場合、これらの文字の可能なすべての置換が、実行可能な意味的に有効なプログラムであるようなチューリング完全プログラミング言語は存在しますか?
無限ループも意味的に有効であると見なします。
Markdownなどの一部のデータ形式は、普遍的な意味論的有効性(すべての入力が有効)を持っていることは知っていますが、このプロパティを備えたプログラミング言語を思いのままにすることはできません。
固定アルファベット(ASCIIなど)の場合、これらの文字の可能なすべての置換が、実行可能な意味的に有効なプログラムであるようなチューリング完全プログラミング言語は存在しますか?
無限ループも意味的に有効であると見なします。
Markdownなどの一部のデータ形式は、普遍的な意味論的有効性(すべての入力が有効)を持っていることは知っていますが、このプロパティを備えたプログラミング言語を思いのままにすることはできません。
回答:
無効なオペコードや引数がないため、すべてのオクテットシーケンスを有効なZ80コードとして解釈できます。同じことが他のさまざまなプロセッサにも当てはまると思いますが、私は個人的にZ80を知っています。
このような低レベルのものについては、「プログラムを実行する」ことが何を意味するのかについて疑問にぶつかる可能性があります。
プログラミング言語についてのそのような質問は、ほぼ普遍的に「はい」で答えられます。要求されたプロパティを持つ言語が現在ない場合、そのプロパティを持つ(おもちゃの)言語を作成するためのチャレンジとして誰かがそれを見ると思うかもしれません。
アルファベット文字のすべての順列が構文的に有効である言語の例として、空白文字言語があります。この言語のアルファベット自体は、スペース、タブ、および改行で構成されています。
(文字の)文字列を解決する理由 その質問を「任意の一連のトークン」に言い換える必要があります。ビットではなく、ビットは20世紀のコンピューターのようです。
したがって、無限ループは問題ないと言えます。ゼロ除算はどうですか?有効性の定義に十分寛容な場合は、「はい」になる可能性がありますが、ほとんどの組み合わせはまだ意味がありません。したがって、技術的に有効なプログラムは常に入手できるかもしれませんが、意味的に有効なプログラムはほとんど入手できません。