ほとんどの言語でどのコードがコンパイルされますか?[閉まっている]


29

些細なプログラムを除き、ほとんどの言語でどのコードがコンパイルされますか?

(「自明」とは、空のプログラムや直接エコーされるテキストなどの回答を除外することを意味します。)

次のコードは、C、C ++、Perl、TeX、LaTeX、PostScript、sh、bash、zsh、Prologのすべてのプログラミング言語で明らかにコンパイルされます(そしてそれぞれに異なるものを出力します)。

%:/*:if 0;"true" +s ||true<</;#|+q|*/include<stdio.h>/*\_/
{\if(%)}newpath/Times-Roman findfont 20 scalefont setfont(
%%)pop 72 72 moveto(Just another PostScript hacker,)show((
t)}. t:-write('Just another Prolog hacker,'),nl,halt. :-t.
:-initialization(t). end_of_file. %)pop pop showpage(-: */
int main(){return 0&printf("Just another C%s hacker,\n",1%
sizeof'2'*2+"++");}/*\fi}\csname @gobble\endcsname{\egroup
\let\LaTeX\TeX\ifx}\if00\documentclass{article}\begin{doc%
ument}\fi Just another \LaTeX\ hacker,\end{document}|if 0;
/(J.*)\$sh(.*)"/,print"$1Perl$2$/"if$_.=q # hack the lang!
/
sh=sh;test $BASH_VERSION &&sh=bash;test $POSIXLY_CORRECT&&
sh=sh;test  $ZSH_VERSION && sh=zsh;awk 'BEGIN{x="%c[A%c[K"
printf(x,27,27)}';echo "Just another $sh hacker," #)pop%*/

それは10の異なる言語です。pts oldalai(C、C ++、Perl、TeXで書かれた素晴らしいクリスマス詩も持っています)で見つけました。誰もがもっと良くできますか?


8
専門用語ポリグロット
st0le

8
ここでは16の言語だポリグロット
st0leは、

7
sh、bash、およびzshが基本的にshのみを使用している場合でも異なる言語としてカウントされる場合、異なる言語としてカウントするものを正確に指定する必要があると思います。たとえば、Perl 4とPerl 5.10にはいくつかの大きな違いがあります。
ピーターテイラー

7
言語(ホワイトスペース、BrainF ** k、Perlなど)があり、ほとんどすべての文字の組み合わせが有効なプログラムです。任意のプログラムで要求できます。
ウゴレン

回答:


9

3言語-C、C ++、およびPython

#ifdef _cplusplus
    #include <iostream>
    #define print() int main(){cout << "Hello world! -- from C++" << endl;}
#elif (defined __STDC__) || (defined __STDC_VERSION__)
    #include <stdio.h>
    #define print() int main(){printf("Hello world! -- from C\n");}
#else
import builtins
print = lambda : builtins.print("Hello world! -- from Python")
#endif

print()

言語ごとに異なるものが印刷されます。CおよびC ++では、「#」で始まる行はプリプロセスディレクティブですが、これらの同じ行はPythonのコメントです。


4

5つの言語-Thue、Brainf ***、Boolf ***、Treehugger、およびJavascript

/*::=
alert::=~This is Thue!
::=
-><[[--->+<]>-.[---->+++++<]>-.+.++++++++++.+[---->+<]>+++.-[--->++<]>-.++++++++++.+[---->+<]>+++.+[->++<]>.---[----->+<]>-.+++[->+++<]>++.++++++++.+++++.--------.---[->+++<]>+...---------.[-]]
^^[[--->+^]>-.[---->+++++^]>-.+.++++++++++.+[---->+^]>+++.-[--->++^]>-.++++++++++.+[---->+^]>+++.>-[--->+^]>-.-[--->+^]>+.-------------..+++.[--->+^]>---.++[->+++^]>++..--.+++++++++++++.[--->+^]>-----.[-]]
-+[+;;+;+;+;+;+;+;;;;+;+;+;;+;+;+;;+;+;+;;+;+;;+;;+;;;+;;;;;;+;+;;+;+;;+;+;+;;+;+;;+;;+;;;+;;;;;;+;+;;;+;+;;;;+;+;+;;;;+;+;;+;+;;;;+;+;;+;;;+;;+;+;;+;;+;;+;;+;;+;;+;+;+;+;+;+;;;+;+;+;+;+;+;;;+;+;+;+;+;+;;+;+;;;;+;+;;]
*/alert("This is Javascript!")

残念ながら、Webベースの実装ではTreehugger部分がタイムアウトするため、別のTreehuggerインタープリターを使用する必要があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.