Mercurial > repo
diff interps/clc-intercal/CLC-INTERCAL-Docs-1.-94.-2/doc/html/extensions.html @ 996:859f9b4339e6
<Gregor> tar xf egobot.tar.xz
author | HackBot |
---|---|
date | Sun, 09 Dec 2012 19:30:08 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/interps/clc-intercal/CLC-INTERCAL-Docs-1.-94.-2/doc/html/extensions.html Sun Dec 09 19:30:08 2012 +0000 @@ -0,0 +1,97 @@ +<HTML> + <HEAD> + <TITLE>CLC-INTERCAL Reference</TITLE> + </HEAD> + <BODY> + <H1>CLC-INTERCAL Reference</H1> + <H2>... Compiler extensions</H2> + + <P> + Table of contents: + <UL> + <LI><A HREF="index.html">Parent directory</A> + <LI><A HREF="#compiling">Compiling a program with extensions</A> + <LI><A HREF="#list">List of available extensions</A> + </UL> + </P> + + <H2><A NAME="compiling">Compiling a program with extensions</A></H2> + + <P> + Some program syntax or behaviour is available by including a + compiler extension. A program using such extensions must use the + appropriate mechanism to load them. + </P> + + <P> + The command-line compiler tool, <I>sick</I>, determines which + extensions are required from the program suffix: in general, + each letter in the suffix enables an extension. Alternatively, + if you are not relying on sick's guesses and are specifying + a list of preloads yourself, just add <I>-pextension-name</I> + to your command line as many times as necessary. + </P> + + <P> + Using the INTERCAL Calculator, INTERCALC, you can add extensions + by listing them in the command like (with <I>-oextension-name</I>), + or by enabling or disabling them using the Options menu. + </P> + + <P> + Extensions are implemented as special compiler objects, which are + designed to run in the context of your program just before the + program itself. The kind of things extensions can do is extending + the compiler, changing internal registers, or, in some cases, + use some undocumented features of the runtime system. + </P> + + <H2><A NAME="list">List of available extensions</A></H2> + + <P> + In the following list, the extension name is the one you find in + the calculator's Options menu, which is also the name you use on + the command line to both <I>sick</I> and <I>intercalc</I>. The + letter is the suffix letter which causes loading of the extension. + </P> + + <TABLE> + <TR><TH>Name</TH><TH>Letter</TH><TH>Description</TH></TR> + <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> + <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> + <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> + <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> + <TR><TD>internet</TD><TD>r</TD><TD>Adds syntax and runtime support for the <A HREF="internet.html">INTERNET</A></TD></TR> + <TR><TD>syscall</TD><TD>s</TD><TD>Adds runtime support for the <A HREF="syscall.html">system call interface</A></TD></TR> + <TR><TD>thick</TD><TD>t</TD><TD>Modifies the default behaviour of COME FROM to enable threads</TD></TR> + <TR><TD>trace</TD><TD></TD><TD>Enables program tracing</TD></TR> + <TR><TD>wimp</TD><TD>w</TD><TD>Makes the compiled program default to wimp mode when it runs</TD></TR> + </TABLE> + + <P> + Since CLC-INTERCAL 1.-94.-2, the <i>internet</i> extension is + only available if the optional package CLC-INTERCAL-INET has + been installed. + </P> + + <P> + When used in a suffix, the letter "t" also changes the default + compiler to <I>ick</I>: this is for compatibility with the old + <I>thick</I> compiler, or with <I>ick</I> with thread support. Use + <I>.clcti</I> as a suffix to <I>use</I> sick with threads. + </P> + + <P> + The <I>trace</I> extension does not correspond to a suffix letter; + normally one does not enable tracing at compile time, but rather + uses the <I>--trace</I> command-line option when running the + program. This option is available in the command-line compiler + tool, <I>sick</I>, as well as in all executable programs produced + by the compiler. The calculator offers the <I>trace</I> option in + its Options menu and in its command line, to allow tracing to be + enabled and disabled as required. + </P> + + </BODY> +</HTML> +