Mercurial > repo
diff interps/clc-intercal/CLC-INTERCAL-Docs-1.-94.-2/blib/htmldoc/intercalc.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/blib/htmldoc/intercalc.html Sun Dec 09 19:30:08 2012 +0000 @@ -0,0 +1,210 @@ +<HTML> + <HEAD> + <TITLE>CLC-INTERCAL Reference</TITLE> + </HEAD> + <BODY> + <H1>CLC-INTERCAL Reference</H1> + <H2>... The INTERCAL calculator</H2> + + <P> + Table of contents: + <UL> + <LI><A HREF="index.html">Parent directory</A> + <LI><A HREF="#intercalc">The INTERCAL calculator</A> + <LI><A HREF="#command">Command-line options</A> + <LI><A HREF="#using">Using the calculator</A> + </UL> + </P> + + <H2><A NAME="intercalc">The INTERCAL calculator</A></H2> + <P> + Starting from CLC-INTERCAL 1.-94.-4, a new INTERCAL calculator is + included with the distribution. Apart from the obvious use as a luxury + desk calculator, the calculator allows to quickly test fragments of + INTERCAL programs by just typing them in the calculator and seeing what + happens. Note that some statements are by necessity not supported, + for example COME FROMs have no real meaning as each statement is + executed as a separate program. ABSTAIN FROM and friends, however, + are supported: you can even say things line "DO ABSTAIN FROM (1)", + them write out the state to a file, exit the calculator, start it + up again, read the state back in, type "(1) DO .1 <- #2" and the + statement will not be executed: the calculator remembers it's supposed + to be ABSTAINed FROM. + </P> + + <P> + <I>intercalc</I> requires CLC-INTERCAL 1.-94.-4 and newer. It won't work with + older versions. + </P> + + <P> + Starting with CLC-INTERCAL 1.-94.-2, <I>intercalc</I> is provided as a + separate package, CLC-INTERCAL-ICALC. The various User Interfaces are + also probided as separate packages, so you can install just the ones + you use. + </P> + + <P> + By default, if started without instructions to the contrary, <I>intercalc</I> + attempts to use the "best" user interface which happens to work in + the current environment; here "best" means that the list of + interfaces is obtained from file <I>.sickrc</I> or <I>system.sickrc</I> + and the first one which works is used. The default is <I>X</I>, + <I>Curses</I>, <I>Line</I>, <I>None</I> meaning that a GTK2-based graphical + interface is preferred if X is running and GTK2 is installed; otherwise, + a curses-based text interface or a ReadLine-based interface if the + calculator is running on a terminal and the necessary libraries are installed. + If none of them work, a batch mode interface which writes commands in from standard + input and produces results on standard output always works. In the + remainder of this chapter, we speak of "interactive" interface to + mean "anything except batch mode" and of "windowed" + interface to mean X or Curses, as opposed to Line or None. + </P> + + <P> + The arguments on the command line are either options (in the form + <I>--name</I><CODE>=</CODE><I>value</I> or <I>-xvalue</I>), or filenames. + If a filename is encountered, it must be a file previously created by + <I>intercalc</I> using the Write Out option. Specifiying a file is + equivalent to selecting Read In first thing after the calculator starts up. + </P> + + <H2><A NAME="command">Command-line options</A></H2> + <P> + There is a number of command-line options, which are grouped + by type for easy reference. + </P> + + <H3>User interface options</H3> + + <P> + If the automatic user interface selection does not give the required + result, the following options can be used to control what happens: + </P> + + <TABLE> + <TR><TH>Long option</TH><TH>Short</TH><TH>Meaning</TH></TR> + <TR><TD>--graphic</TD><TD>-X</TD><TD>GTK2-based graphical interface</TD></TR> + <TR><TD>--curses</TD><TD>-c</TD><TD>Curses-based text interface</TD></TR> + <TR><TD>--line</TD><TD></TD><TD>ReadLine-based text interface</TD></TR> + <TR><TD>--batch</TD><TD></TD><TD>Batch mode, no user interface</TD></TR> + <TR><TD>--interface=<I>NAME</I></TD><TD>-i<I>NAME</I></TD><TD>Load the specified interface</TD></TR> + </TABLE> + + <H3>Compiler options and operating mode</H3> + + <P> + These are either the name of the compiler to use, and any extensions + which you wish to load initially, or other options which control how + the compiler behaves. + </P> + + <TABLE> + <TR><TH>Long option</TH><TH>Short</TH><TH>Meaning</TH></TR> + <TR><TD>--include=<I>DIR</I></TD><TD>-I<I>DIR</I></TD><TD>Add directory to search path for compiler objects</TD></TR> + <TR><TD>--language=<I>NAME</I></TD><TD>-l<I>NAME</I></TD><TD>Selects the compiler (default: sick)</TD></TR> + <TR><TD>--option=<I>NAME</I></TD><TD>-o<I>NAME</I></TD><TD>Selects a compiler option, may be repeated (default: none)</TD></TR> + <TR><TD>--mode=<I>NAME</I></TD><TD>-m<I>NAME</I></TD><TD>Selects operating mode (default: full)</TD></TR> + <TR><TD>--bug=<I>NUMBER</I></TD><TD></TD><TD>Change the probability of the compiler bug</TD></TR> + <TR><TD>--ubug=<I>NUMBER</I></TD><TD></TD><TD>Change the probability of the unexplainable compiler bug</TD></TR> + </TABLE> + + <P> + The calculator currently defines three operating modes: <I>full</I> (the default), <I>expr</I> and <I>oic</I>. + </P> + + <P> + In <I>full</I> mode, the full power of the selected compiler and extensions is available. One types + INTERCAL statements and watches them execute. Additionally, for convenience, one can type an + expression and this will be evaluated and its result displayed. It is internally implemented by + pretending you typed "DO READ OUT <I>expression</I>". + </P> + + <P> + <I>expr</I> mode is a restricted form of full mode, where you can only execute assignments and evaluate + expressions; other statements are disallowed. Assignments are specified without the initial DO and/or PLEASE. + Expressions can of course contain overloading and other side-effects, which will be remembered and will + come back to cause unexpected results later. This mode is suitable for a desk calculator. + </P> + + <P> + <I>oic</I> mode is a silly "One Instruction" desk calculator which is there because we can. + This mode is currently undocumented. + </P> + + <H3>Misc options</H3> + + <P> + The following options control the way <I>intercalc</I> operates: + </P> + + <TABLE> + <TR><TH>Long option</TH><TH>Short</TH><TH>Meaning</TH></TR> + <TR><TD>--nouserrc</TD><TD></TD><TD>Ignore <I>.sickrc</I> files, use only first <I>system.sickrc</I> found</TD></TR> + <TR><TD>--rcfile=<I>NAME</I></TD><TD>-r<I>NAME</I></TD><TD>Uses specified file instead of searching for <I>.sickrc</I> and <I>system.sickrc</I></TD></TR> + </TABLE> + + <H2><A NAME="using">Using the calculator</A></H2> + + <P> + Once the calculator has started, it will display its window (in windowed + mode), print its prompt (in Line mode), or simply wait for input (in + batch mode). In any case, you enter statements or expressions and + watch them execute. + </P> + + <P> + Some menus are available in windowed mode to change the current compiler, + base and operating mode. These should be self-explanatory in the X + interface. In the Curses interface, press Alt-F to access the File menu, + Alt-E to access the Edit menu, and so on with the other menus. Just + use Alt and the initial letter of the menu name. Once a menu is open, + the up and down arrow keys navigate the menu, while the left and right + keys move to the next menu in the corresponding direction. To select + a menu entry, press Enter; to close the menu without making a selection, + press Esc. + </P> + + <P> + In X mode you can provide input by clicking on a key or by pressing the + corresponding key on the keyboard if there is one (some symbols may not + be available on all keyboards); in Curses mode you can press the key + or, if necesssary, use the cursor keys (up, down, left, right) to highlight + one of the buttons on the screen, then press Enter to activate it. + </P> + + <P> + In line and batch mode, access to menu functions can be achieved by starting + a line with a backspark (<CODE>`</CODE>) and a letter. In Line mode you can + see what letters make sense by pressing Tab after the backspark, which will + give you a list. In any case, the following backsparks are available: + </P> + + <TABLE> + <TR><TH>Backspark</TH><TH>Meaning</TH></TR> + <TR><TD>`a</TD><TD>Show the "About intercalc" text</TD></TR> + <TR><TD>`b<I>BASE</I></TD><TD>Change base</TD></TR> + <TR><TD>`c</TD><TD>Save settings to <I>.sickrc</I> (not yet implemented)</TD></TR> + <TR><TD>`g</TD><TD>Give up (exit calculator) - you'll need to do it twice to confirm</TD></TR> + <TR><TD>`h</TD><TD>Show command history</TD></TR> + <TR><TD>`h<I>NUM</I></TD><TD>Show command history, limiting to last <I>NUM</I> commands</TD></TR> + <TR><TD>`l<I>LANGUAGE</I></TD><TD>Load a different compiler (1972, ick or sick)</TD></TR> + <TR><TD>`m<I>MODE</I></TD><TD>Change operating mode (full, expr or oic)</TD></TR> + <TR><TD>`o<I>OPTION</I></TD><TD>Toggle compiler option</TD></TR> + <TR><TD>`r<I>FILE</I></TD><TD>Read Out: saves calculator state to file</TD></TR> + <TR><TD>`r</TD><TD>Like `r<I>FILE</I> but uses last filename given to `r or `w</TD></TR> + <TR><TD>`t</TD><TD>Show program trace, if enabled with `otrace</TD></TR> + <TR><TD>`t<I>NUM</I></TD><TD>Same as `t, limiting to trace produced by last <I>NUM</I> commands</TD></TR> + <TR><TD>`w<I>FILE</I></TD><TD>Write In: loads calculator state from file</TD></TR> + <TR><TD>`?</TD><TD>Help: displays the help text</TD></TR> + </TABLE> + + <P> + If you do not provide an argument to `b, `l, `m or `o, they will show + a list. Currently selected base, language, mode or options (respectively) + will be marked with a splat. + </P> + + </BODY> +</HTML> +