Mercurial > repo
comparison interps/clc-intercal/CLC-INTERCAL-Docs-1.-94.-2/blib/htmldoc/extensions.html @ 996:859f9b4339e6
<Gregor> tar xf egobot.tar.xz
author | HackBot |
---|---|
date | Sun, 09 Dec 2012 19:30:08 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
995:6883f5911eb7 | 996:859f9b4339e6 |
---|---|
1 <HTML> | |
2 <HEAD> | |
3 <TITLE>CLC-INTERCAL Reference</TITLE> | |
4 </HEAD> | |
5 <BODY> | |
6 <H1>CLC-INTERCAL Reference</H1> | |
7 <H2>... Compiler extensions</H2> | |
8 | |
9 <P> | |
10 Table of contents: | |
11 <UL> | |
12 <LI><A HREF="index.html">Parent directory</A> | |
13 <LI><A HREF="#compiling">Compiling a program with extensions</A> | |
14 <LI><A HREF="#list">List of available extensions</A> | |
15 </UL> | |
16 </P> | |
17 | |
18 <H2><A NAME="compiling">Compiling a program with extensions</A></H2> | |
19 | |
20 <P> | |
21 Some program syntax or behaviour is available by including a | |
22 compiler extension. A program using such extensions must use the | |
23 appropriate mechanism to load them. | |
24 </P> | |
25 | |
26 <P> | |
27 The command-line compiler tool, <I>sick</I>, determines which | |
28 extensions are required from the program suffix: in general, | |
29 each letter in the suffix enables an extension. Alternatively, | |
30 if you are not relying on sick's guesses and are specifying | |
31 a list of preloads yourself, just add <I>-pextension-name</I> | |
32 to your command line as many times as necessary. | |
33 </P> | |
34 | |
35 <P> | |
36 Using the INTERCAL Calculator, INTERCALC, you can add extensions | |
37 by listing them in the command like (with <I>-oextension-name</I>), | |
38 or by enabling or disabling them using the Options menu. | |
39 </P> | |
40 | |
41 <P> | |
42 Extensions are implemented as special compiler objects, which are | |
43 designed to run in the context of your program just before the | |
44 program itself. The kind of things extensions can do is extending | |
45 the compiler, changing internal registers, or, in some cases, | |
46 use some undocumented features of the runtime system. | |
47 </P> | |
48 | |
49 <H2><A NAME="list">List of available extensions</A></H2> | |
50 | |
51 <P> | |
52 In the following list, the extension name is the one you find in | |
53 the calculator's Options menu, which is also the name you use on | |
54 the command line to both <I>sick</I> and <I>intercalc</I>. The | |
55 letter is the suffix letter which causes loading of the extension. | |
56 </P> | |
57 | |
58 <TABLE> | |
59 <TR><TH>Name</TH><TH>Letter</TH><TH>Description</TH></TR> | |
60 <TR><TD>bitwise-divide</TD><TD>d</TD><TD>Changes the <A HREF="expressions.html#unary">unary division</A> operator to act as a bitwise operator</TD></TR> | |
61 <TR><TD>come-from-gerund</TD><TD>g</TD><TD>Enables the <A HREF="statements.html#come_from">COME FROM gerund</A> and <A HREF="statements.html#next_from">NEXT FROM gerund</A> statements</TD></TR> | |
62 <TR><TD>computed-labels</TD><TD>l</TD><TD>Adds syntax for computed statement labels; currently only works with the <I>sick</I> compiler</TD></TR> | |
63 <TR><TD>next</TD><TD>n</TD><TD>Adds syntax for the NEXT statement; only works with the <I>sick</I> compiler (<I>ick</I> and <I>1972</I> do not require it)</TD></TR> | |
64 <TR><TD>internet</TD><TD>r</TD><TD>Adds syntax and runtime support for the <A HREF="internet.html">INTERNET</A></TD></TR> | |
65 <TR><TD>syscall</TD><TD>s</TD><TD>Adds runtime support for the <A HREF="syscall.html">system call interface</A></TD></TR> | |
66 <TR><TD>thick</TD><TD>t</TD><TD>Modifies the default behaviour of COME FROM to enable threads</TD></TR> | |
67 <TR><TD>trace</TD><TD></TD><TD>Enables program tracing</TD></TR> | |
68 <TR><TD>wimp</TD><TD>w</TD><TD>Makes the compiled program default to wimp mode when it runs</TD></TR> | |
69 </TABLE> | |
70 | |
71 <P> | |
72 Since CLC-INTERCAL 1.-94.-2, the <i>internet</i> extension is | |
73 only available if the optional package CLC-INTERCAL-INET has | |
74 been installed. | |
75 </P> | |
76 | |
77 <P> | |
78 When used in a suffix, the letter "t" also changes the default | |
79 compiler to <I>ick</I>: this is for compatibility with the old | |
80 <I>thick</I> compiler, or with <I>ick</I> with thread support. Use | |
81 <I>.clcti</I> as a suffix to <I>use</I> sick with threads. | |
82 </P> | |
83 | |
84 <P> | |
85 The <I>trace</I> extension does not correspond to a suffix letter; | |
86 normally one does not enable tracing at compile time, but rather | |
87 uses the <I>--trace</I> command-line option when running the | |
88 program. This option is available in the command-line compiler | |
89 tool, <I>sick</I>, as well as in all executable programs produced | |
90 by the compiler. The calculator offers the <I>trace</I> option in | |
91 its Options menu and in its command line, to allow tracing to be | |
92 enabled and disabled as required. | |
93 </P> | |
94 | |
95 </BODY> | |
96 </HTML> | |
97 |