Hello Poly Glots

Some lads I know wrote this about ten years ago. I wouldn't consider competing with this effort.

I found the source at: http://www.tmk.com/ftp/humor/polyglot.txt

-- PeterGoodall

Home page of the lads who wrote it: http://ideology.com.au/polyglot/ (If using Netscape, you may need to disable style sheets when viewing site. Spelling corrected below.)

To avoid the "?" due to wiki markup, cut-and-paste works best if you copy from the EditBox?.


 X-NEWS: spcvxb alt.folklore.computers: 8750
 Relay-Version: VMS News - V6.0 13.10.90 VAX/VMS V5.4; site spcvxb.spc.edu
 Path: spcvxb.spc.edu!njin!paul.rutgers.edu!aramis.rutgers.edu!dimacs.rutgers.edu!mips!zaphod.mps.ohio-state.edu!samsung!uunet!munnari.oz.au!metro!news
 Newsgroups: rec.puzzles,comp.lang.misc,alt.folklore.computers
 Subject: A polyglot program
 Message-ID: <1991Mar18.131907.11757@metro.ucc.su.OZ.AU>
 From: peril@extro.ucc.su.OZ.AU (Peter Lisle)
 Date: 18 Mar 91 13:19:07 GMT
 Sender: news@metro.ucc.su.OZ.AU
 Organization: Uni Computing Service, Uni of Sydney, Australia
 Nntp-Posting-Host: extro.ucc.su.oz.au
 Lines: 97
 Xref: spcvxb rec.puzzles:3047 comp.lang.misc:2806 alt.folklore.computers:8750

A little while ago some people were talking about polyglot programs in rec.puzzles, these are programs that are written in several languages. We thought it sounded like fun so we wrote this one.

Our friends suggested we should post it -- so here it is, let us know what you think.

-------- cut here (keep the blank lines: they are important) --------

(*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 transferring 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. *){*/} ------------------------------ cut here --------------------------------------

Have fun...

Peter (Lisle)


EditText of this page (last edited February 28, 2010) or FindPage with title or text search