The Perl INTERCAL compiler

... The Integrated Programming Environment

Starting from CLC-INTERCAL 1.-94, the preferred method to compile programs is to use the Integrated Programming Environment, sick (which stands for Superior INTERCAL Compiler Kluge). A program compatible with the old "oo, ick" is planned and will be made available if and when.

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:
suffixlanguage
.iCLC-INTERCAL
.clciCLC-INTERCAL
.siCLC-INTERCAL with SYSCALL
.niCLC-INTERCAL with NEXT
.giCLC-INTERCAL with COME FROM GERUND
.ciC-INTERCAL
.tiThreaded-INTERCAL
.1972Traditional INTERCAL (1972 compiler)
Some of them can be combined: for example, ".ngi" is "CLC-INTERCAL with NEXT and COME FROM GERUND".

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.i
To compile the same as a Threaded INTERCAL source:
    sick --preload=thick --preload=postpre program.i
The list of "preloads" to specify can be obtained by inspecting the system.sickrc file.
Back