3
<TITLE>The Perl INTERCAL compiler</TITLE>
6
<H1>The Perl INTERCAL compiler</H1>
7
<H2>... The Integrated Programming Environment</H2>
9
Starting from CLC-INTERCAL 1.-94, the preferred method to compile
10
programs is to use the Integrated Programming Environment, <I>sick</I>
11
(which stands for <I>S</I>uperior <I>I</I>NTERCAL <I>C</I>ompiler
12
<I>K</I>luge). A program compatible with the old "oo, ick" is
13
planned and will be made available if and when.
16
<I>sick</I> requires CLC-INTERCAL 1.-94 and newer. It won't work with
20
There are several ways to invoke <I>sick</I>, depending on what one intends
21
to do with it. Without arguments, it starts the GUI programming environment
22
(which does not require a GUI - a terminal with cursor addressing is quite
23
sufficient, although the program works best when running under X-Windows).
24
With arguments, the GUI might or might not starts. depending on the particular
25
combination of options (and the amplitudes of the internal quantum states
26
which are superposed at the time the decision is made).
29
The arguments on the command line are either options (in the form
30
<I>--name</I><CODE>=</CODE><I>value</I>), or filenames. If a filename is
31
encountered, it is immediately compiled with the options which precede it in
32
the command line. After processing the command line, if any program has been
33
compiled they are all saved or executed, depending on options. If no programs
34
need to be saved, a user interface is started instead.
37
The options are currently only documented as POD in the Perl code.
38
Use "perldoc sick" to see it.
40
If <I>sick</I> is invoked from within itself (from the GUI), the defaults
41
will be the set of options in force at the time of invocation.
44
When compiling a file, the suffix determines what compiler to use.
45
The following are currently recognised:
48
<TR><TH>suffix</TH><TH>language</TH></TR>
49
<TR><TD>.i</TD><TD>CLC-INTERCAL</TD></TR>
50
<TR><TD>.clci</TD><TD>CLC-INTERCAL</TD></TR>
51
<TR><TD>.si</TD><TD>CLC-INTERCAL with SYSCALL</TD></TR>
52
<TR><TD>.ni</TD><TD>CLC-INTERCAL with NEXT</TD></TR>
53
<TR><TD>.gi</TD><TD>CLC-INTERCAL with COME FROM GERUND</TD></TR>
54
<TR><TD>.ci</TD><TD>C-INTERCAL</TD></TR>
55
<TR><TD>.ti</TD><TD>Threaded-INTERCAL</TD></TR>
56
<TR><TD>.1972</TD><TD>Traditional INTERCAL (1972 compiler)</TD></TR>
59
Some of them can be combined: for example, ".ngi" is "CLC-INTERCAL with NEXT
60
and COME FROM GERUND".
63
In addition, a digit between 2 and 7 just after the period specifies the base
64
(the exception is ".1972", which does not allow a base).
67
The actual list of suffixes understood is specified in the file
68
<CODE>system.sicrc</CODE> or <CODE>.sickrc</CODE> and can be changed
69
by the user (or the system administrator). The above is the default as
73
To override the defauls, use "--preload". For example, to compile
74
"program.i" as a C-INTERCAL program use:
77
sick --preload=ick --preload=postpre program.i
80
To compile the same as a Threaded INTERCAL source:
83
sick --preload=thick --preload=postpre program.i
86
The list of "preloads" to specify can be obtained by inspecting the
87
<CODE>system.sickrc</CODE> file.
90
<A HREF="index.html">Back</A>