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