3
Codegolf:クインとアンチキン
この課題は、Can you Meta Quineに似ていますか? クインは、STDOUTで自身を生成するプログラムです。この課題は、実行時にSTDOUTでプログラムBを生成するプログラムAを生成することです。プログラムBを実行すると、STDOUTでプログラムAが生成されます。プログラムAとBは、同じ言語で作成(および実行)する必要があります。リンクされた質問はA!= Bを制約しました。それはあまりにも簡単に見えました。そのため、この質問では、AとBは次のルールを使用してアンチキンであると主張します。 プログラムAとBは、同じ文字を使用したり、空白やステートメントの区切り文字、句読点を保存したりすることはできません。 プログラムAおよびBには、それぞれ、空白でもステートメント区切り文字でも句読点文字でもない文字が少なくとも1つ含まれている必要があります。 ルール1および2の目的のために、「空白」という用語は、それ自体が解釈される(セパレータではなく)ステートメント、演算子、またはシンボルであるシンボルまたはシンボルのシーケンスを除外します。したがって、ホワイトスペース言語では、ホワイトスペースはありません。 ステートメント分離文字は、ステートメントを分離するために言語内で従来使用されている構文要素です。これには、Pythonの改行、またはJava、perlまたはCのセミコロンが含まれます。 句読点文字は、空白でもPOSIX単語文字クラスでもないASCII文字です(つまり、この目的ではアンダースコアは句読点ではありません)。つまりispunct()、trueを返しますが、そうではありません_。 実行時のプログラムAは、STDOUTでプログラム(プログラムB)を生成する必要があり、そのプログラムは、実行時にプログラムAを生成します。 プログラムAとBは同じプログラミング言語である必要があります。 使用されるプログラミング言語は、実際にはプログラミング言語でなければなりません。良いケースを別の方法で作らない限り、チューリング完全でなければなりません。 AとBの少なくとも1つは、言語内で少なくとも1つのステートメントを実行する必要があります。 これはコードゴルフであるため、最短回答が勝ち、スコアはプログラムAの長さ(バイト)です(つまり、プログラムBの長さは関係ありません)。