11/23/96  BWSBEXP.DLL - v2.1a (23Nov96) - Brad Stumpf
Copyright (c) 1995, 1996, 1997 Stumpf Software Company

Purpose: 
   BWSBEXP.DLL implements Balanced Expression support within Premia
   Corporation's Codewright product.  Features supported within
   this library include balanced expression searching, selecting,
   matching and a configuration dialog screen.  Balanced expression
   entries are configured via a dialog box and entries are maintained
   on a per file type basis (i.e. different balanced expressions
   for different languages based on the current buffer's extension).

*******************************************************************************
   Please review the HISTORY.TXT file supplied for the latest and greatest
   changes made to BWSBEXP.DLL.  The v2.0a release marks a dramatic
   improvement in the type of balanced expression strings supported.  Also,
   v2.0a allows for extension-specific special character definitions and
   improves balanced expression search times.
*******************************************************************************

Files Included:
   AAREADME.TXT  -  This file.

   BWSBEX16.DLL  -  The Balanced Expression DLL (16-bit) for CW v3.1 and higher

   BWSBEX32.DLL  -  The Balanced Expression DLL (32-bit) for CW v5.0 and higher

   BWSBEXP3.DLL  -  The Balanced Expression DLL for CW v3.0 and older (obsolete)

   BWSBEXP.H     -  'C' header file containing flag definitions and
                    API function prototypes.

   BWSBEXP.HLP   -  The Balanced Expression DLL Help file

   BWSBEX16.LIB  -  Import library for the exported functions contained
                    in BWSBEX16.DLL.

   BWSBEX32.LIB  -  Import library for the exported functions contained
                    in BWSBEX32.DLL.

   CWSAMPLE.INI  -  Sample CWRIGHT.INI file to be used as a reference for
                    how the BWSBEXP.DLL should be installed and to give
                    examples of some Balanced Expression configurations.
                    Now, contains sample Visual Basic configuration (v2.0a).

   HISTORY.TXT   -  BWSBEXP.DLL version change history log.

To Install:
   1. Copy the BWSBEX??.DLL and BWSBEXP.HLP files to the Codewright directory
      (usually C:\CWRIGHT) (substitute ?? with 16, 32, or P3)

   2. Update your CWRIGHT.INI file's [LibPreload] section to include a
      'LibPreload=BWSBEX??.DLL' line (substitute ?? with 16, 32, or P3)

   3. Update your CWRIGHT.INI file's [KmapAssign] section to include the
      assignments defined in the CWSAMPLE.INI file.  This is only a
      starter configuration, you can change the assignments as you like.

   4. Optionally, add the BWS_BExp... lines in the various [Extension.???]
      sections from the CWSAMPLE.INI file to your CWRIGHT.INI file.

   5. Restart Codewright and display the Balanced Expression Setup dialog
      box by typing <Ctrl-Alt-B> or executing BWS_DlgBExpSetup from the
      command line.  Using the dialog box, verify and/or modify the
      balanced expression configurations.

Comments:
   When the BWSBEXP.DLL functions can't seem to locate a balanced expression
   that you have configured, check:

      1. if 'Use word delimiters' is set, check the defined File Type
         Properties' Word Delimiters for correctness within that extension
      2. verify that the 'Include Group Ids' value is not excluding the
         balanced expression in question
      3. check the 'Comments' and 'Quotes' Locator Flags to ensure that
         they are not excluding the balanced expression in question in
         some way
      4. a comment expression embedded within another comment expression
         (notably, a C comment like '//***********' which is syntactally
         correct, but not handled properly by BWSBEXP.DLL because of its
         generic nature and the undesired amount of time required to
         resolve such syntax (use '// ***********' instead))
      5. possibly an internal CW search engine bug (I've noticed problems
         in CW v4.0b thru v4.0e)

   Note, that the functions contained in BWSBEXP.DLL are generally very fast.
   However, languages with Comments that can span multiple lines (like
   C's /*...*/ comment) cause the greatest slow down if the 'Ignore in'
   option is set.  Still, the functions are fairly quick even when this
   is the case (so don't be discouraged from setting the 'Ignore in'
   option).  With CW v5.0's new search engine, they are even faster.

   Please report any problems and/or suggestions to me via the Internet at
   'bradstumpf@gmail.com'.

   Sincerely,

      Brad Stumpf

******************************************************************************
   P.S.  If you want me put your name on my e-mail list of BWSBEXP.DLL users,
         please send me your name and e-mail address.  This way I can notify
         you directly when a new version is made available.
******************************************************************************
