This is the command ick that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator
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
-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).
Use ick online using onworks.net services