REMOVE - Removes comments and white space from GRASP programs
Version 2.52 - June 11, 1993
-----------------------------------------------------------------------------

(C)Copyright 1992-1993 Interactive Media Solutions Ltd.
This software is freeware. See usage notes at end of this file.


Overview:
--------
When developing Grasp programs, it is a very good idea to comment your code!

However, doing so will increase the size of your final Grasp program because
comments are not automatically stripped from Grasp at runtime.

Grasp also has a current limit of 24K (Grasp 4.0) and 32K (MMGrasp 5.0)
per TXT file which can be a pain.

Remove was developed to solve this problem.

In highly commented code, or code where formatting has been used, great
space savings can be achieved by using Remove.

Grasp programs with no comments and redundant white space will also
run faster.

Remove works with Grasp 4.0 or higher.


Unbalanced quotes:
-----------------
Grasp requires that you have balanced quotes when using the TEXT with quotes
in them. Using the slash (\) symbol to display a quote mark is still
allowed by REMOVE.

The following examples show text quotes, and if an error will be reported
by REMOVE:

 TEXT 10 10 "Hello"                     <-- OK
 
 TEXT 10 10 "Hello \"there"             <-- OK
 
 TEXT 10 10 "Hello                      <-- OK
  there"
 
 TEXT 10 10 "Hello there                <-- MISSING QUOTE


Leaving comments:
----------------
Remove will leave comment lines that start with two semicolons.

For example:
        
        ;;(C) 1992-1993 IMS

This comment will NOT be 'deleted' by REMOVE. This is useful for leaving
your copyright messages, etc. or version numbers of your Grasp programs.
        

Removing whole lines of a program:
---------------------------------
Remove will also delete whole lines with the comment ';REMOVE' in them.

For example:
        
        if !@runtime    ;REMOVE

The above line will be deleted when REMOVE is run on the file. The REMOVE
word must touch the semicolon and all be in uppercase characters. This
feature allows you to delete code only needed when running from within the
GRASP editor.


Revision history:
----------------
For those who want to know:

Version:
  1.0     - Initial version 'donationware' - too much hassle for us, so...
  1.1     - Freeware version
  1.2     - More minor improvements on removal of comments
  1.3     - Addition of quote mark checking (balanced quotes)
  2.0     - More intelligent removal of unwanted white space
  2.1     - Minor fixes to 2.0
  2.11    - Addition of REMOVE.TXT readme file
  2.12    - Keep blank lines in text strings
  2.13    - Detect read only files
  2.14    - Leave comment if it starts with 2 semi-colons (;; comment)
  2.2     - Addition of /k date/time flag
  2.3     - Addition of ;REMOVE line deletion option
  2.31    - Addition of /r flag, plus reformatted displays
  2.4     - Addition of /d flag, to allow different desitination path
            for 'REMOVEd' TXT files (eg /dC:\OUT)
  2.5     - Added improved file size reduction message
  2.51    - Vastly improved the speed of REMOVE
  2.52    - Changed sense of the /r flag - specify it if you want the line
            to be deleted. If you do not specify the /r flag then lines of
            text containing ;REMOVE will not be 'REMOVEd'.

Revisions are generally for new features, not bug fixes!!! Honest.


Work in progress:
----------------
Ability to turn understandable Grasp variable names to meaningless ones so
if someone manages to extract your code, they will have difficulty reading
it. The variables to rename will be contained in an ASCII file called
RENAME.LST, formated thus:

        from_floppy,g
        rolling_demo_mode,k
        cpu_speed,s3
        etc . . .

Another benefit of this is the ability to turn long variable names to just
one letter, making your Grasp programs even smaller!


Other freeware Grasp utilities by Interactive Media Solutions Ltd:
-----------------------------------------------------------------

  MAKELIST -  Make list files to aid development (for GDFF, GLIB, etc)
  OFFSET   -  Changes the offset of clippings (.CLP files)
  PASSPATH -  Utility that passes the current directory to batch files
  TRANDFF  -  Grasp program to allow you to put plain backdrop DFF files
              onto complex backdrops.

Other freeware Grasp utilities under development:
------------------------------------------------

  PALETTE  -  Make .PAL palette files (from PCX, GIF or PIC files)
  FONTINFO -  List infofmation on indicated .SET, .FNT and .PBB
              Grasp compatible font files


For more information:
--------------------
For more information on REMOVE or any of our other services/utilities,
please contact:

        Jason Gibbs or Andy Adnitt
        Interactive Media Solutions Ltd
        The Old Bell House, 4 High Street, Twyford, Berks. RG10 9AE. UK.
        Tel: +44 (0)734 344666
        Fax: +44 (0)734 321203
        CompuServe: 100030,53

*****************************************************************************
We operate the FREE 24 hour European Grasp Bulletin Board - packed with lots
of demos, utilities, example code, VESA drivers, hints, registered user
upgrades, fonts, Grasp runtimes, sounds, user messages etc.

Registered Users should leave a message to the SysOp to have their security
level raised for access to registered areas.

The number is: +44 734 321579  (N81 - 2400 to 14.4k baud)
*****************************************************************************


Copyright:
---------
REMOVE is freeware. You may freely distribute REMOVE.EXE and REMOVE.TXT on
the conditions that:

    1) it is not modified in any way
    2) no charge is made for it (except shipping costs where applicable)
    3) it is not bundled with any third party software

We hold no liability whatsoever that REMOVE will function as stated (even
though it does!). We cannot be held responsible for lost commented code, etc.
- under ANY circumstances!!!


More . . .
----------
If you have any suggestions on how to improve REMOVE, or any of our other
Grasp utilities, please feel free to tell us.

IMS also offer custom Grasp/Pascal/Assembler programming services, in
addition to copyrighting and graphics/animation development.

Grasp Copyright(C) 1983-1993 John Bridges
      Copyright(C) 1988-1993 Paul Mace Software, Inc.


** end of file **

