44 lines
		
	
	
		
			873 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			44 lines
		
	
	
		
			873 B
		
	
	
	
		
			C
		
	
	
	
	
	
/* $Id: regex.h,v 1.6 2003/09/22 21:02:21 ukai Exp $ */
 | 
						|
#define REGEX_MAX	64
 | 
						|
#define STORAGE_MAX	256
 | 
						|
 | 
						|
typedef struct {
 | 
						|
    char type;
 | 
						|
#ifdef USE_M17N
 | 
						|
    wc_wchar_t wch;
 | 
						|
#endif
 | 
						|
    unsigned char ch;
 | 
						|
} longchar;
 | 
						|
 | 
						|
typedef struct regexchar {
 | 
						|
    union {
 | 
						|
	longchar *pattern;
 | 
						|
	struct regex *sub;
 | 
						|
    } p;
 | 
						|
    unsigned char mode;
 | 
						|
} regexchar;
 | 
						|
 | 
						|
 | 
						|
typedef struct regex {
 | 
						|
    regexchar re[REGEX_MAX];
 | 
						|
    longchar storage[STORAGE_MAX];
 | 
						|
    char *position;
 | 
						|
    char *lposition;
 | 
						|
    struct regex *alt_regex;
 | 
						|
} Regex;
 | 
						|
 | 
						|
 | 
						|
Regex *newRegex(char *ex, int igncase, Regex *regex, char **error_msg);
 | 
						|
 | 
						|
int RegexMatch(Regex *re, char *str, int len, int firstp);
 | 
						|
 | 
						|
void MatchedPosition(Regex *re, char **first, char **last);
 | 
						|
 | 
						|
 | 
						|
/* backward compatibility */
 | 
						|
char *regexCompile(char *ex, int igncase);
 | 
						|
 | 
						|
int regexMatch(char *str, int len, int firstp);
 | 
						|
 | 
						|
void matchedPosition(char **first, char **last);
 |