This directory contains the current version of lx2l, documentation and
some example files.

lx2l is a general-purpose preprocessor that can be used for all kinds
of ASCII files. Macros (with or without parameters, spanning one or
multi lines, also with local conditionals), global conditionals,
include files and reading of C header files are supported. Special
features are multi-thread input files (you may put sets of files which
share some or much text/code into a single file, and extract the
threads using lx2l), character remapping (replace any character with
an arbitrary (one or multiple line) output text) Character remapping is
also available for macro parameters and macro body. lx2l supports simple
loops, which is sometimes useful for makefiles and system management.

lx2l is quite convenient for writing makefiles for multiple platforms
in a single file, system management tasks (using loops), writing HTML
files, as FLEX preprocessor and for many other tasks. Documentation is
given in LaTeX, ASCII and HTML; it is also generated from a single
source using lx2l.

Special requirements: flex 2.5x, (ANSI) C compiler

Installation: currently not yet supported by make. For Unix/DOS copy
   the executables to a common directory. For VMS you may use lx2l
   either with the internal command tables or as foreign symbol.
   Currently documentation is given only in LaTeX, ASCII and HTML;
   a texinfo port may follow, if I get the time.

Changes: first "official" release

Status: Freeware (GNU GPL). Uploaded by the author.

Distribution: lx2l may be distributed under the terms of the GNU GPL:
   If you want to distribute executables for user convenience, you must
   include the sources (or at least a pointer to the sources).
   Distribution of a modified version is granted under the terms of
   the GNU GPL. See the file copying for details.
   The latest version of lx2l can be found at

      ftp://axp3.sr.fh-mannheim.de/pub/lx2l/lx2l.zip

Known deficiencies and bugs: I use lx2l frequently, so many bugs are
   already fixed. Some minor known deficiencies/bugs:

    - lx2l uses a fixed main buffer size; currently no check for buffer
      overflow is done. For a later release, a dynamic buffer size is
      planned; the current version uses a large buffer (~64K) which is
      usually large enough.

    - The code for macro loops does no check for indices; the loop
      code was a quick&dirty hack, but will be modified in near
      future.
      
    - The syntax for some commands has changed (due to the history of
      lx2l). If you picked up somewhere an old version you may use the
      lx2l_old2new tool to convert the old files to the new syntax.

    - Many lx conditionals in lx2l.lxx are not yet tested; if you use a
      different configuration (compared to the "standard"), tailoring
      may work or not. If you have problems, let me know.

Author: Michael Plugge <m.plugge@fh-mannheim.de>
