推奨に従って、私はこれをStack Overflowから再投稿しています。
最近、次の問題を考えています。
標準の「Hello world!」のコードを検討してください。プログラム:
main()
{
printf("Hello World");
}
これで、このコードのほとんどすべての変更は完全に役に立たなくなり、実際、ほとんどすべての変更はコードのコンパイルを妨げます。例えば:
main(5
{
printf("Hello World");
}
さて、実際の質問に。シンボルのあらゆる可能な組み合わせ、つまりすべての表現が意味をなすプログラミング言語はありますか?私はある種の解決策について考えてみましたが、2つ考えました
限られた数の変数を持つPostfix。基本的に、コードを記述する前にすべての変数が既に定義されているので、それらを操作する必要があります。理論的には、多くの単純なプログラムのチェーンを形成して、それぞれが他の人に結果を供給することにより、任意の数の操作を実行できます。コードは、後置記法の一連の文字として書くことができます。
変数のスタックを持つ「Postfix」。変数はスタックに保存されます。すべての操作は、上から2つの変数を取り、その場所に結果を置きます。プログラムは、最後の操作または変数に到達すると終了します。
個人的に私はこれらの両方が嫌いです。それらは限られているだけでなく、優雅でもありません。これらは回避策のような実際のソリューションではなく、本質的に外部プロセスへの一部の作業の「オフショアリング」です。
この問題を解決する方法は他にありますか?
[
]
コマンドが必要です(Wikiページによる)。私の考えは、CPUオペコードを見ることでした。しかし、それでも、パターンによっては問題が生じる場合があります(たとえば、オペコードが3ビットで、プログラムが2ビットしかない場合)。余分な0ビットでパディングする可能性があるこの問題を除いて、 「すべての文字列が有効なプログラムである」という主張を満たす完全なオペコードセット。無意味かもしれませんが、まだ有効です。
You are a bimbo.