This package contains a comprehensive String and File Matching program, "Mat",and some EXECUTE Command Scripts which use it. [The nature of the program means that it needs a command line -- it can't be run from an icon. This README file and the two .DOC files are the only WorkBench accessible files in this directory.] Mat's notation for patterns is an extension of the standard AmigaDOS convention (used by LIST, COPY, and DELETE etc.). It uses additional special characters for negation and for marking the matched string into "slices". To provide the flexibility that Mat has, its command line syntax has to be fairly complex. In most cases you will probably want prewritten command scripts to perform common actions; some examples are included. [Warning! Commercial message on rapid approach vector...!] This program becomes much friendlier if you are using Sili(Con:); in the first place because command scripts are used like any other command (no "EXECUTE"...), and in the second because you can enter a complex command line for a special Mat job once and then use it repeatedly (or with modifications) by clicking on it with the mouse. Sili(Con:) is probably also on this disk, so check it out, but remember it is Shareware (unlike this program which is free for all non-profit use). The main contents of this package are as follows: Mat -- A general purpose string and file matching utility with the ability to slice and rearrange the input. Mat.DOC -- The user's manual for Mat. REN -- Command script for extended renaming of multiple files. REF -- Example command script to highlight references in text. PR -- Command script to print specified files in the background. UPDATE -- Command script to invoke "xcopy" with full pattern matching on file names. Scripts.DOC -- Instructions for using the command scripts. [I suggest you try using the scripts before plunging into the syntax of Mat!] Sources: Mat.c Match.c -- The extended AmigaDOS type matching algorithm used. Splicer.c -- String slicing, dicing, and splicing. Splicer.h -- Splicing structure definition Match.c_BCPL -- A direct translation into C of the original algorithm. These sources have only been compiled under Lattice 3.10. Match is SUPPOSED to be portable (!), but Mat may not be. I apologize for the lack of documentation on the matching algorithm. It really needs a tutorial --- which I hope maybe to be able to supply later. In the meantime you'll have to piece it together from the code and how Mat uses it. Mat itself is copyright, but freely distributable for non-profit purposes. I consider the Match code to be public; it was derived from someone else's published work after all... (see the reference in the source code). Peter Goodeve August 1987