/* ------------------------------------------------------------------------ */ /* */ /* [reg_exp.h] Regular Expression Evaluation */ /* */ /* Copyright (c) 1999 by D\olle, Manns */ /* ------------------------------------------------------------------------ */ /* File generated by 'ctoh'. Don't change manually. */ #ifndef reg_exp_INCL #define reg_exp_INCL #include "standard.h" #ifdef __cplusplus extern "C" { #endif /*

[reg_exp] implements a regular expression evaluator based on the following regular expression syntax.

Literal

Construction
Character set' Literal ... '
String" Literal ... "
Any character.
Character range Expression .. Expression
( single character expressions )
Subexpression( Expression )
Option[ Expression ]
 Expression ?
Iteration ( 0.. ){ Expression }
 Expression *
Iteration ( 1.. )Expression +
Iteration ( n )Expression Number
Iteration ( n..m )Expression Number, Number
UnionExpression | Expression
DifferenceExpression - Expression
ConcatenationExpression Expression
*/ /* -------------------- Types ------------------------------------------- */ AbstractType(Reg_T) // Abstract regular expression evaluation type ; /* -------------------- Creating & Disposing ---------------------------- */ void REG_drop(Reg_T pReg); /* removes regular expression evaluator 'pReg' */ Reg_T REG_create ( c_string szRegExp, long lLen, c_string szCharSet, c_bool bIgnCase ) #define REG_CREATE(exp) REG_create((exp),-1,(c_string)NULL,C_False) #define IREG_CREATE(exp) REG_create((exp),-1,(c_string)NULL,C_True) /* creates a regular expression evaluator from string 'szRegExp' 'lLen' : -1 or string size in bytes, incl. terminating bytes 'szCharSet': NULL,"" or character set name ( UCS4, UTF-8, MS:CodePage / GNU:iconv-based ) 'szCharSet' = NULL,"" --> single byte string 'lLen' = -1 --> null-terminated single byte or utf8 string RC: evaluator or NULL */ ; c_bool REG_recreate ( Reg_T pReg, c_string szRegExp, long lLen, c_string szCharSet, c_bool bIgnCase ) #define REG_RECREATE(reg,exp) REG_recreate((reg),(exp),-1,(c_string)NULL,C_False) #define IREG_RECREATE(reg,exp) REG_recreate((reg),(exp),-1,(c_string)NULL,C_True) /* updates regular expression evaluator 'pReg' from string 'szRegExp' ( 'lLen', 'szCharSet' --> see function 'REG_create' ) RC: true <--> OK */ ; /* ------------------------- Evaluation --------------------------------- */ c_string REG_match ( Reg_T pReg, c_string szTxt, long lTxtLen, c_string szCharSet, long* lPatLen ) #define REG_MATCH(reg,txt,len) REG_match((reg),(txt),-1,(c_string)NULL,(len)) /* applies regular expression evaluator 'pReg' to string 'szTxt' ( 'lTxtLen', 'szCharSet' --> see function 'REG_create' ) RC: start postion of first matched value in 'szTxt' or NULL 'lPatLen' != NULL --> length of first matched value in bytes */ ; #ifdef __cplusplus } #endif #endif