diff options
| author | Joe Zhao <ztuowen@gmail.com> | 2014-04-14 08:14:45 +0800 | 
|---|---|---|
| committer | Joe Zhao <ztuowen@gmail.com> | 2014-04-14 08:14:45 +0800 | 
| commit | cccccbf6cca94a3eaf813b4468453160e91c332b (patch) | |
| tree | 23418cb73a10ae3b0688681a7f0ba9b06424583e /src/KaldiLib/.svn/text-base/StkMatch.h.svn-base | |
| download | tnet-cccccbf6cca94a3eaf813b4468453160e91c332b.tar.gz tnet-cccccbf6cca94a3eaf813b4468453160e91c332b.tar.bz2 tnet-cccccbf6cca94a3eaf813b4468453160e91c332b.zip | |
First commit
Diffstat (limited to 'src/KaldiLib/.svn/text-base/StkMatch.h.svn-base')
| -rw-r--r-- | src/KaldiLib/.svn/text-base/StkMatch.h.svn-base | 123 | 
1 files changed, 123 insertions, 0 deletions
| diff --git a/src/KaldiLib/.svn/text-base/StkMatch.h.svn-base b/src/KaldiLib/.svn/text-base/StkMatch.h.svn-base new file mode 100644 index 0000000..42c6b97 --- /dev/null +++ b/src/KaldiLib/.svn/text-base/StkMatch.h.svn-base @@ -0,0 +1,123 @@ +#ifndef TNet_StkMatch_h +#define TNet_StkMatch_h + +#include <string> +namespace TNet  +{ +  /* +   EPSHeader + +     File: filmatch.h +     Author: J. Kercheval +     Created: Thu, 03/14/1991  22:24:34 +  */ + +  /* +   EPSRevision History +     O. Glembek    Thu, 03/11/2005  01:58:00  Added Mask extraction support (char % does this) +     J. Kercheval  Wed, 02/20/1991  22:28:37  Released to Public Domain +     J. Kercheval  Sun, 03/10/1991  18:02:56  add is_valid_pattern +     J. Kercheval  Sun, 03/10/1991  18:25:48  add error_type in is_valid_pattern +     J. Kercheval  Sun, 03/10/1991  18:47:47  error return from matche() +     J. Kercheval  Tue, 03/12/1991  22:24:49  Released as V1.1 to Public Domain +     J. Kercheval  Thu, 03/14/1991  22:25:00  remove '\' for DOS file matching +     J. Kercheval  Thu, 03/28/1991  21:03:59  add in PATTERN_ESC & MATCH_LITERAL +  */ + +  /* +     Wildcard Pattern Matching +  */ + + +  /* match defines */ +#define MATCH_PATTERN  6    /* bad pattern */ +#define MATCH_LITERAL  5    /* match failure on literal match */ +#define MATCH_RANGE    4    /* match failure on [..] construct */ +#define MATCH_ABORT    3    /* premature end of text string */ +#define MATCH_END      2    /* premature end of pattern string */ +#define MATCH_VALID    1    /* valid match */ + +  /* pattern defines */ +#define PATTERN_VALID  0    /* valid pattern */ +#define PATTERN_ESC   -1    /* literal escape at end of pattern */ +#define PATTERN_RANGE -2    /* malformed range in [..] construct */ +#define PATTERN_CLOSE -3    /* no end bracket in [..] construct */ +#define PATTERN_EMPTY -4    /* [..] contstruct is empty */ + + +  /*---------------------------------------------------------------------------- +  * +  *  Match the pattern PATTERN against the string TEXT; +  * +  *       match() returns TRUE if pattern matches, FALSE otherwise. +  *       matche() returns MATCH_VALID if pattern matches, or an errorcode +  *           as follows otherwise: +  * +  *            MATCH_PATTERN  - bad pattern +  *            MATCH_RANGE    - match failure on [..] construct +  *            MATCH_ABORT    - premature end of text string +  *            MATCH_END      - premature end of pattern string +  *            MATCH_VALID    - valid match +  * +  * +  *  A match means the entire string TEXT is used up in matching. +  * +  *  In the pattern string: +  *       `*' matches any sequence of characters (zero or more) +  *       `?' matches any character +  *       [SET] matches any character in the specified set, +  *       [!SET] or [^SET] matches any character not in the specified set. +  * +  *  A set is composed of characters or ranges; a range looks like +  *  character hyphen character (as in 0-9 or A-Z).  [0-9a-zA-Z_] is the +  *  minimal set of characters allowed in the [..] pattern construct. +  *  Other characters are allowed (ie. 8 bit characters) if your system +  *  will support them. +  * +  *  To suppress the special syntactic significance of any of `[]*?!^-\', +  *  in a [..] construct and match the character exactly, precede it +  *  with a `\'. +  * +  ----------------------------------------------------------------------------*/ +  bool  +  match (const char *pattern, const char *text, char *s); + +  int   +  matche(register const char *pattern, register const char *text, register char *s); + + +  /*---------------------------------------------------------------------------- +  * +  * Return TRUE if PATTERN has any special wildcard characters +  * +  ----------------------------------------------------------------------------*/ +  bool  +  is_pattern (const char *pattern); + + +  /** -------------------------------------------------------------------------- +   * +   * Return TRUE if PATTERN has is a well formed regular expression according +   * to the above syntax +   * +   * error_type is a return code based on the type of pattern error.  Zero is +   * returned in error_type if the pattern is a valid one.  error_type return +   * values are as follows: +   * +   *   PATTERN_VALID - pattern is well formed +   *   PATTERN_RANGE - [..] construct has a no end range in a '-' pair (ie [a-]) +   *   PATTERN_CLOSE - [..] construct has no end bracket (ie [abc-g ) +   *   PATTERN_EMPTY - [..] construct is empty (ie []) +   *  -------------------------------------------------------------------------- +  **/ +  bool  +  is_valid_pattern (const char *pattern, int *error_type); + + +  //**************************************************************************** +  //**************************************************************************** +  bool +  ProcessMask(const std::string & rString, const std::string & rWildcard, +      std::string & rSubstr); +} +#endif | 
