sick requires CLC-INTERCAL 1.-94 and newer. It won't work with older versions.
There are several ways to invoke sick, depending on what one intends to do with it. Without arguments, it starts the GUI programming environment (which does not require a GUI - a terminal with cursor addressing is quite sufficient, although the program works best when running under X-Windows). With arguments, the GUI might or might not starts. depending on the particular combination of options (and the amplitudes of the internal quantum states which are superposed at the time the decision is made).
The arguments on the command line are either options (in the form
--name=
value), or filenames. If a filename is
encountered, it is immediately compiled with the options which precede it in
the command line. After processing the command line, if any program has been
compiled they are all saved or executed, depending on options. If no programs
need to be saved, a user interface is started instead.
The options are currently only documented as POD in the Perl code. Use "perldoc sick" to see it. If sick is invoked from within itself (from the GUI), the defaults will be the set of options in force at the time of invocation.
When compiling a file, the suffix determines what compiler to use. The following are currently recognised:
suffix | language |
---|---|
.i | CLC-INTERCAL |
.clci | CLC-INTERCAL |
.si | CLC-INTERCAL with SYSCALL |
.ni | CLC-INTERCAL with NEXT |
.gi | CLC-INTERCAL with COME FROM GERUND |
.ci | C-INTERCAL |
.ti | Threaded-INTERCAL |
.1972 | Traditional INTERCAL (1972 compiler) |
In addition, a digit between 2 and 7 just after the period specifies the base (the exception is ".1972", which does not allow a base).
The actual list of suffixes understood is specified in the file
system.sicrc
or .sickrc
and can be changed
by the user (or the system administrator). The above is the default as
distributed.
To override the defauls, use "--preload". For example, to compile "program.i" as a C-INTERCAL program use:
sick --preload=ick --preload=postpre program.iTo compile the same as a Threaded INTERCAL source:
sick --preload=thick --preload=postpre program.iThe list of "preloads" to specify can be obtained by inspecting the
system.sickrc
file.