可以在七种语言下编译的程序
张文泰
posted @ 2010年2月06日 22:16
in Tiny Tricks
with tags
代码
, 2967 阅读
(*O/*_/ Cu #%* )pop mark/CuG 4 def/# 2 def%%%%@@P[TX---P\P_SXPY!Ex(mx2ex("SX!Ex4P)Ex= CuG #%* *+Ex= CuG #%*------------------------------------------------------------------*+Ex= CuG #%* POLYGLOT - a program in seven languages 15 February 1991 *+Ex= CuG #%* *+Ex= CuG #%* Written by Kevin Bungard, Peter Lisle, and Chris Tham *+Ex= CuG #%* *+Ex= CuG #%* We have successfully run this program using the following: *+Ex= CuG #%* ANSI COBOL: MicroFocus COBOL85 (not COBOL74) *+Ex= CuG #%* ISO Pascal: Turbo Pascal (DOS & Mac), Unix PC, *+Ex= CuG #%* AIX VS Pascal *+Ex= CuG #%* ANSI Fortran: Unix f77, AIX VS Fortran *+Ex= CuG #%* ANSI C (lint free): Microsoft C, Unix CC, GCC, Turbo C++, *+Ex= CuG #%* Think C (Mac) *+Ex= CuG #%* PostScript: GoScript, HP/Adobe cartridge, *+Ex= CuG #%* Apple LaserWriter *+Ex= CuG #%* Shell script: gnu bash, sh (SysV, BSD, MKS), ksh *+Ex= CuG #%* 8086 machine language: MS-DOS 2.00, 3.03, 4.01, 5.00 beta *+Ex= CuG #%* VPix & DOS Merge (under unix) *+Ex= CuG #%* SoftPC (on a Mac), MKS shell *+Ex= CuG #%* *+Ex= CuG #%* Usage: *+Ex= CuG #%* 1. Rename this file to polyglot.[cob|pas|f77|c|ps|sh|com] *+Ex= CuG #%* 2. Compile and/or run with appropriate compiler and *+Ex= CuG #%* operating system *+Ex= CuG #%* *+Ex= CuG #%* Notes: *+Ex= CuG #%* 1. We have attempted to use only standard language features. *+Ex= CuG #%* Without the -traditional flag gcc will issue a warning. *+Ex= CuG #%* *+Ex= CuG #%* 2. This text is a comment block in all seven languages. *+Ex= CuG #%* *+Ex= CuG #%* 3. When run as a .COM file with MS-DOS it makes certain *+Ex= CuG #%* (not unreasonable) assumptions about the contents of *+Ex= CuG #%* the registers. *+Ex= CuG #%* *+Ex= CuG #%* 4. When transfering From Unix to DOS make sure that a LF *+Ex= CuG #%* is correctly translated into a CR/LF. *+Ex= CuG #%* *+Ex= CuG #%* Please mail any comments, corrections or additions to *+Ex= CuG #%* peril@extro.ucc.su.oz.au *+Ex= CuG #%* *+Ex= CuG #%*------------------------------------------------------------------*QuZ= CuG #%* *+Ex= CuG #%*!Mx)ExQX4ZPZ4SP5n#5X!)Ex+ExPQXH,B+ExP[-9Z-9Z)GA(W@'UTTER_XYZZY'CPK*+ CuG #(* *( C # */); /*( C # *) program polyglot (output); (*+ C # identification division. C # program-id. polyglot. C # C # data division. C # procedure division. C # C # * ))cleartomark /Bookman-Demi findfont 36 scalefont setfont ( C # * ( C # C # * hello polyglots$ C # main. C # perform C * ) 2>_$$; echo "hello polyglots"; rm _$$; exit print C stop run. -*, 'hello polyglots' C C print. C display "hello polyglots". ( C */ int i; /* C */ main () { /* C */ i=printf ("hello polyglots\n"); O= &i; return *O; /* C *) (* C *) begin (* C *) writeln ('hello polyglots'); (* C *) (* ) C * ) pop 60 360 ( C * ) pop moveto (hello polyglots) show ( C * ) pop showpage (( C *) end .(* ) C)pop% program polyglot. *){*/}
本作品遵循“署名-非商业性使用-相同方式共享 3.0 Unported”协议,转载请注明来自richard-desktop。