/* Copyright (C) 1995 Bjoern Beutel. */
/* Description. =============================================================*/
/* This module contains function to compile and execute pattern matching
* strings (regular expressions). */
/* Constants. ===============================================================*/
enum {PATTERN_VAR_MAX = 5}; /* Maximum number of pattern variables. */
/* Variables. ===============================================================*/
extern string_t pattern_var[ PATTERN_VAR_MAX ]; /* Pattern variables. */
/* Functions. ===============================================================*/
extern string_t compile_pattern( string_t string, int_t pattern_var_no );
/* Convert STRING to a pattern to be used as input to "match_pattern".
* If PATTERN_VAR_NO != -1, mark the pattern so the string matching this
* pattern will be stored in PATTERN_VAR[ PATTERN_VAR_NO ].
* The result pattern must be freed after usage. */
extern bool_t match_pattern( string_t string, string_t pattern );
/* Test whether STRING matches PATTERN (a string of chars compiled with
* "compile_pattern") and set substring indices in PATTERN_VAR.
* The substrings remain valid until "compile_pattern" is called again. */
extern void terminate_patterns( void );
/* Terminate this module. */
/* End of file. =============================================================*/