home *** CD-ROM | disk | FTP | other *** search
/ ftp.cse.unsw.edu.au / 2014.06.ftp.cse.unsw.edu.au.tar / ftp.cse.unsw.edu.au / pub / doc / languages / C / ioccc / 1990 / scjones.c < prev    next >
Encoding:
Text File  |  1992-10-18  |  1.4 KB  |  47 lines

  1. char*a??(??)=??<
  2. "??=include<stdio.h>",
  3. "??=include<stdlib.h>",
  4. "??=define o stdout",
  5. "??=define b break;case",
  6. "??=define s(p)fputs(p,o);",
  7. "??=define c(p)fputc(p,o);",
  8. "void t(p,f)char*p;??<f&&c('??/"')",
  9. "for(;;p++)??<switch(*p)??<case 0:f&&",
  10. "s(??/"??/??/??/",??/")c('??/??/n')return;case",
  11. "'??=':s(??/"???/??/?=??/")b'??<':s(??/"???/??/?<??/")",
  12. "b'??>':s(??/"???/??/?>??/")b'??(':s(??/"???/??/?(??/")b'??)'",
  13. ":s(??/"???/??/?)??/")b'??/??/??/??/':f&&s(??/"???/??/?/??/")",
  14. "s(??/"???/??/?/??/")b'??/??/n':if(f)s(??/"???/??/?/n??/")",
  15. "else case'??/"':if(f)s(??/"???/??/?/??/??/??/"??/")",
  16. "else default:c(*p)??>??>??>main()??<char**p",
  17. ";t(??/"char*a??(??)=??<??/",0);for(p=a;*p",
  18. ";p++)t(*p,1);t(??/"0??>;??/",0);for(p=a",
  19. ";*p;p++)t(*p,0);exit(!ferror(o)&&",
  20. "!fclose(o)?EXIT_SUCCESS",
  21. ":EXIT_FAILURE);",
  22. "/*NOTREACHED*/",
  23. "??>",
  24. 0??>;
  25. ??=include<stdio.h>
  26. ??=include<stdlib.h>
  27. ??=define o stdout
  28. ??=define b break;case
  29. ??=define s(p)fputs(p,o);
  30. ??=define c(p)fputc(p,o);
  31. void t(p,f)char*p;??<f&&c('"')
  32. for(;;p++)??<switch(*p)??<case 0:f&&
  33. s("??/",")c('??/n')return;case
  34. '??=':s("???/?=")b'??<':s("???/?<")
  35. b'??>':s("???/?>")b'??(':s("???/?(")b'??)'
  36. :s("???/?)")b'??/??/':f&&s("???/?/")
  37. s("???/?/")b'??/n':if(f)s("???/?/n")
  38. else case'"':if(f)s("???/?/??/"")
  39. else default:c(*p)??>??>??>main()??<char**p
  40. ;t("char*a??(??)=??<",0);for(p=a;*p
  41. ;p++)t(*p,1);t("0??>;",0);for(p=a
  42. ;*p;p++)t(*p,0);exit(!ferror(o)&&
  43. !fclose(o)?EXIT_SUCCESS
  44. :EXIT_FAILURE);
  45. /*NOTREACHED*/
  46. ??>
  47.