除琐碎的程序外,什么代码可以用最多的语言进行编译?
(“琐碎”是指排除诸如空程序或将直接回显的文本之类的答案。)
以下代码显然可以在以下所有编程语言中进行编译(并且在每种语言中打印出不同的内容):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
技术术语为Polyglot
—
st0le 2012年
这是16种语言的多国语言
—
st0le 2012年
如果sh,bash和zsh本质上仅使用sh算作不同的语言,那么我认为您需要准确指定算作不同语言的内容。例如,Perl 4与Perl 5.10有一些显着差异。
—
彼得·泰勒
有多种语言(例如Whitespace,BrainF ** k和Perl),其中几乎所有字符组合都是有效程序。可以通过任何程序声明它们。
—
ugoren 2012年