!Help for !BasCrunch v 1.02
---------------------------

BASIC cruncher by gnari (Email: gnari@grun.is  RealWorld: Ragnar Hafsta).
Desktop front-end by Dick Alstein.

As its name suggests, this application crunches BASIC programs, resulting
in smaller and faster code, in addition to it being incomprehensible and
hard to debug.


The desktop application
-----------------------

The program installs itself on the icon bar. To crunch a BASIC file, drag
its icon from a Filer window to the icon bar icon. A "Save as:" box opens,
allowing you to enter the leaf name of the crunched file. Then drag the
icon from the box to a Filer window, or to an application (like !Edit).

(Note: the original file will be replaced by the crunched one if you use
the same leaf name and drag it to the same directory.)

The menu has, apart from the usual "Info" and "Quit", one entry: "Options"
opens a window in which you can set the various crunching options. Some
options may need a bit of explanation:

Output suitable for editor
    The most compact crunching results in files that may not be editable
    anymore. You can still load the files into an editor (!Edit, !StrongEd,
    whatever) to view them. But if you make a few changes and save the
    file, the program may not work anymore. (The editors have difficulty in
    re-tokenising the compacted BASIC code). Setting this option leaves a
    few extra spaces in the crunched file, so it is still editable.

Create line '0REM <filename>'
    Adds a REM line with the filename of the original to the crunched code.
    (Note: You should not have a line with number 0 in the original; that
    line will be lost if this option is set.)

Exceptions
    Use this option if you want to crunch most, but not all variable names.
    Put the names of these variables in a Text file, and drop the file on
    the icon. You can also type the filename in into the icon.
    The variable names must be separated by Newline. Note that for example,
    'count' will also refer to 'count%', 'count$', 'PROCcount', 'FNcount'.


The Options window is also opened when you click on the icon bar icon with
Select.


The command-line program
------------------------

!BasCrunch is a front-end to the command line program 'ccrunch' residing
inside this application. Command-line freaks can use it directly.

Syntax:

*ccrunch [switches]
  switches are:
      -h      gives minimal help and sytax reminder
      -v      reports on progress
      -m      disables multiple statement line building
      -f      disables crunching of FN/PROC names
      -e      disables discarding of empty lines
      -s      disables crunching of variables.(implies -f)
      -n      disables changing SYS names to numbers
      -t      implements text friendly crunching. this is to make
              crunched output convertable to text and back in a non
              destructive way. mainly, this means that spaces are left
              between tokens and variables.
      -r      does not remove REM's and assembler comments
      -rn     does not remove REM's and comments in the first n lines
      -0      adds a line: 0REM crunched "<filename>"
              this does not renumber, so you should not have
              a line number 0.
      -xfile  file contains a list of variables not to be crunched (omit
              final % or $ of names)
      -ifile  source file. the -i may be omitted.
      -ofile  destination file. the -o may be omitted.
              if this parameter is omitted then source filename is used

      All switches are case sensitive.

Examples:

*ccrunch file                        will crunch file with all options
                                     enabled and overwrite original program.

*ccrunch -v -m -e -s -n file file2   Will crunch file, only removing
                                     spaces and REMs and such, and save
                                     result as file2. It will report on
                                     progress.

Bugs and sane suggestions should be addressed to the authors

ccrunch:
           gnari (Ragnar Hafsta)
           Grun Ltd
           Box 852, Brautarholt 2
           121 Reykjavk
           Iceland

           Tel:   (354)(1)624672
           Email: gnari@grun.is


front-end:
           Dick Alstein
           Lijnslagerstraat 204
           NL-5625 BP Eindhoven
           The Netherlands

           Tel:   +31 40 428318
           Email: wsinda@info.win.tue.nl
