diff options
| author | nyamatongwe <unknown> | 2001-04-04 12:52:44 +0000 | 
|---|---|---|
| committer | nyamatongwe <unknown> | 2001-04-04 12:52:44 +0000 | 
| commit | 93b871d1d8fbb076510e2c410ba57a0980a22ec8 (patch) | |
| tree | 56576fc17d8737f5fbb591a89fd1e9fab4bd1a59 /include/PosRegExp.h | |
| parent | b338ed2a95f184263c1e1c7782ba3706fa05858c (diff) | |
| download | scintilla-mirror-93b871d1d8fbb076510e2c410ba57a0980a22ec8.tar.gz | |
Moved to public domain regular expresion implementation.
Diffstat (limited to 'include/PosRegExp.h')
| -rw-r--r-- | include/PosRegExp.h | 138 | 
1 files changed, 0 insertions, 138 deletions
| diff --git a/include/PosRegExp.h b/include/PosRegExp.h deleted file mode 100644 index b915b1ed4..000000000 --- a/include/PosRegExp.h +++ /dev/null @@ -1,138 +0,0 @@ -#ifndef POSREGEXP_H -#define POSREGEXP_H - -#define MatchesNum 0x10 - -enum EOps -{ -  ReBlockOps = 0x1000, -  ReMul,              // * -  RePlus,             // + -  ReQuest,            // ? -  ReNGMul,            // *? -  ReNGPlus,           // +? -  ReNGQuest,          // ?? -  ReRangeN,           // {n,} -  ReRangeNM,          // {n,m} -  ReNGRangeN,         // {n,}? -  ReNGRangeNM,        // {n,m}? -  ReOr,               // | -  ReBehind  = 0x1100, // ?#n -  ReNBehind = 0x1200, // ?~n -  ReAhead   = 0x1300, // ?= -  ReNAhead  = 0x1400, // ?! - -  ReSymbolOps = 0x2000, -  ReEmpty, -  ReSymb,             // a b \W \s ... -  ReEnum,             // [] -  ReNEnum,            // [^] -  ReBrackets,         // (...) -  ReBkTrace = 0x2100, // \yN -  ReBkBrack = 0x2200 // \N -}; - -enum ESymbols -{ -  ReAnyChr = 0x4000,  // . -  ReSoL,              // ^ -  ReEoL,              // $ -  ReDigit,            // \d -  ReNDigit,           // \D -  ReWordSymb,         // \w -  ReNWordSymb,        // \W -  ReWSpace,           // \s -  ReNWSpace,          // \S -  ReUCase,            // \u -  ReNUCase ,          // \l -  ReWBound,           // \b -  ReNWBound,          // \B -  RePreNW,            // \c -  ReStart,            // \m -  ReEnd,              // \M - -  ReChr    = 0x0      // Char in Lower Byte -}; -enum ETempSymb -{ -  ReTemp = 0x7000, -  ReLBrack, ReRBrack, -  ReEnumS, ReEnumE, ReNEnumS, -  ReRangeS, ReRangeE, ReNGRangeE, ReFrToEnum -}; - -#define BackSlash '\\' - -typedef union SCharData -{ -  int  IArr[8]; -  char CArr[32]; -  void SetBit(unsigned char Bit); -  void ClearBit(unsigned char Bit); -  bool GetBit(unsigned char Bit); -} *PCharData; - -typedef struct SRegInfo -{ -  SRegInfo(); -  ~SRegInfo(); - -  EOps   Op; -  union{ -    SRegInfo *Param; -    int Symb; -    PCharData ChrClass; -  }un; -  int s,e; -  SRegInfo *Parent; -  SRegInfo *Next; -} *PRegInfo; - -typedef struct SMatches -{ -  int s[MatchesNum]; -  int e[MatchesNum]; -  int CurMatch; -} *PMatches; - -typedef class PosRegExp -{ -  PRegInfo Info; -  PMatches BkTrace; -  bool NoCase,Extend,NoMoves; -  bool Error; -  int  *Exprn; -  int  posParse; -  int  posEnd,posStart; -  int  posBkStr; -  int  FirstChar; - -  bool SetExprLow(const char *Expr); -  bool SetStructs(PRegInfo &Info,int st,int end); -  void Optimize(); -  bool CheckSymb(int Symb,bool Inc); -  bool LowParse(PRegInfo Re); -  bool LowParseRe(PRegInfo &Next); -  bool LowCheckNext(PRegInfo Re); -  bool ParseRe(int posStr); -  bool QuickCheck(); -public: -  PMatches Matches; -  int Ok, CurMatch; - -  void *param; -  char (*CharAt)(int pos, void *param); - -  PosRegExp(); -  ~PosRegExp(); - -  bool isok(); -  bool SetNoMoves(bool Moves); -  bool SetBkTrace(int posStr,PMatches Trace); -  bool SetExpr(const char *Expr); -  bool Parse(int posStr, int posStop, PMatches Mtch); -  bool Parse(int posStr,int posSol, int posEol, PMatches Mtch, int Moves = -1); -  bool Evaluate(char *Expr, int posStr, PMatches Mtch, char **Res); -} *PPosRegExp; - -#endif /* POSREGEXP_H */ | 
