Provided by: intercal_0.30-2_amd64 bug


       ick - INTERCAL compiler


       ick [options] file...

       ick -e [options] intercal-file [non-intercal-file...] [library...]


       This  manual  page  documents  briefly  the  ick command.  This manual page was originally
       written for the Debian GNU/Linux distribution (but may be used  by  others),  because  the
       original  program  did  not  have  a  manual  page,  and  was  then added back to the main
       distribution.  Fuller documentation is available via the command info  ick  (for  the  ick
       command itself; even fuller documentation is available via info C-INTERCAL (which contains
       the documentation for both the compiler and the INTERCAL language)).

       ick takes INTERCAL programs and generates code from them (by running gcc).

       Note that the base in which a program is written is deduced from its  extension;  INTERCAL
       programs in base 2 must have the extension .i, INTERCAL programs in bases from 3 to 7 must
       have an extension from .3i to .7i respectively.

       No options take arguments; multiple options can be given separately  or  combined  in  the
       usual  way  (even  -e).   The  order  in  which options is given is irrelevant unless they
       conflict, in which case the  options  that  are  given  last  on  the  command  line  take


       -c     Compile INTERCAL to C, but don't compile the resulting C.

       -d     Print yacc debugging information (implies -c).

       -t     Requires  strict  INTERCAL-72  compliance  (rejecting COME FROM, the extensions for
              bases other than two, and other features not found in INTERCAL-72).

       -b     Disables the INTERCAL-72 random-bug feature.

       -O     Attempt to optimize expressions in the generated code.

       -C     Clockface output (using IIII rather than IV in Roman numerals).

       -f     Optimize control flow in generated code (prevents -yp).

       -F     Optimize everything in generated  code  for  speed,  regardless  of  how  slow  the
              compiler  becomes  or  how  large  the  object  file becomes. Implies -fO, prevents

       -h     Print optimizer debugging information (implies -cO).

       -H     Print verbose optimizer debugging information (implies -cO).

       -hH    Print optimizer debugging information in a different form (implies -cO).

       -w     Enable the +printflow option in output programs even if they are not multithreaded.

       -y     Run the yuk debugger on the code (prevents -fme).

       -p     Run the yuk profiler on the code (prevents -fme).

       -m     Allow multithreading and backtracking (prevents -ype, implies -w).

       -e     Link one INTERCAL file to non-INTERCAL files or to expansion libraries.  Doing this
              changes  the  syntax of the command line; the first file given must be the INTERCAL
              source file, then this can be followed by any number of files in other languages to
              link  via the external calls system (currently only C and maybe Befunge-98 programs
              are allowed), and then any number of expansion libraries.  The  non-INTERCAL  files
              will  be  processed  to link them to the INTERCAL files, and then compiled with gcc
              and linked to the main INTERCAL program.

       -E     Do not link any system libraries, even if the code suggests that  one  or  more  is
              needed (prevents -P).

       -a     Allow the use of the CREATE statement (prevents -P).

       -v     Allow  anything  on  the  left  of  an assignment, and turn off the protection that
              constants otherwise have against being assigned to (prevents -fFOP).

       -P     Compile PIC-INTERCAL rather than INTERCAL (prevents -amFvxeE, implies -cfO).

       -o     Output to stdout rather than .c (implies -c).

       -X     Interpret ambiguous syntax such as ? and @ with Princeton meanings (as used by CLC-
              INTERCAL), rather than with the default Atari meanings.

       -x     Use  CLC-INTERCAL  rules  for  text  I/O and for abstaining from a GIVE UP by label
              (prevents -P).

       -u     Print a message whenever the compiler tries to open a file.

       -U     Dump core on E778 as well as printing an error.

       -Y     Display the command lines for programs invoked by ick.

       -g     Leave the generated C in place, and make the output executable debuggable.

       -l     Attempt to report likely bugs and nonportabilities (implies -O).


       The newsgroup alt.lang.intercal is where INTERCAL compilers are  announced,  and  INTERCAL
       itself  is  discussed;  the website is where the most recent
       versions of C-INTERCAL are currently hosted.


       ick was originally written by Eric S. Raymond.  This manual page was originally written by
       Mark W. Eichin <>, for the Debian GNU/Linux system.