home *** CD-ROM | disk | FTP | other *** search
/ Frostbyte's 1980s DOS Shareware Collection / floppyshareware.zip / floppyshareware / GLEN / IOCCC7.ZIP / STIG.HIN < prev    next >
Text File  |  1990-07-20  |  2KB  |  57 lines

  1. Strangest Abuse of the Rules: <stig@solan.unit.no> Stig Hemmer
  2.  
  3.     Stig Hemmer
  4.     Norwegian Institute of Technology
  5.     N-7034 Trondheim-NTH
  6.     Norway 
  7.  
  8. Judges' comments:
  9.  
  10.     We changed the alias that the author's suggested alias from a
  11.     C-shell alias to a Korn shell alias because many C-shells
  12.     did not allow Stig Hemmer's form of aliasing.  (The error 
  13.     may have also been due to some uucp site corrupting his 
  14.     entry) Below is the author's 'how to compile' sections as 
  15.     mailed to us:
  16.  
  17.     ---how to ANSI compile---
  18.     Xecho alias c cc -E -o o.c shst.c -"\''Dc=main(){printf("\"N%sested E
  19.     Ccomments allowed.\\n\",'/*/*/0*/**/'1?\"\":\"o n\"");}'\'';cc -o c o.c'
  20.     Xsource shst.c"|csh
  21.     ---how to common compile---
  22.     Xecho alias c cc -E -o o.c shst.c -"\''Dc=main(){printf("\"N%sested E
  23.     Ccomments allowed.\\n\",'/*/*/0*/**/'1?\"\":\"o n\"");}'\'';cc -o c o.c'
  24.     Xsource shst.c"|csh
  25.  
  26.     Note that shst.c is renamed to stig.c in the distribution.
  27.  
  28.     Producing an equivalent C-shell alias or /bin/sh function
  29.     is left as an exercise to the reader.
  30.  
  31. WARNING: This program's 'how to compile' is too specific to a particular
  32.      shell.  The obfuscation of this program to more related to
  33.      shell obfuscation than C obfuscation.  This type of entry will 
  34.      not be permitted in future contests.
  35.  
  36. Selected notes from the author:
  37.  
  38.     If you like shell programming you may also admire my
  39.     creative quoting. (I use echo to create an alias
  40.     which when run calls cc with the -D option to create a
  41.     C macro with double quotes in it. ARRRRRGGGHHH!)
  42.  
  43.     The program is totally portable, but the compile
  44.     commands are very shell specific so don't be TOO mad
  45.     at me if they don't work for you.
  46.  
  47.     If you want to put these commands in a Makefile you
  48.     must add 4 - four - backslashes at the end on first
  49.     line. (At least that's what works here.)
  50.  
  51.     If everything works correctly it create an executable
  52.     named c which checks whether your compiler supports
  53.     nested comments. I've stolen the "/*/*/0*/**/1" from
  54.     somewhere so don't give me any points for it. Of
  55.     course neither ANSI nor K&R support nested comments
  56.     when properly implemented, but what the heck. 
  57.