aboutsummaryrefslogtreecommitdiffhomepage
path: root/include/PosRegExp.h
diff options
context:
space:
mode:
authornyamatongwe <unknown>2001-04-04 12:52:44 +0000
committernyamatongwe <unknown>2001-04-04 12:52:44 +0000
commit93b871d1d8fbb076510e2c410ba57a0980a22ec8 (patch)
tree56576fc17d8737f5fbb591a89fd1e9fab4bd1a59 /include/PosRegExp.h
parentb338ed2a95f184263c1e1c7782ba3706fa05858c (diff)
downloadscintilla-mirror-93b871d1d8fbb076510e2c410ba57a0980a22ec8.tar.gz
Moved to public domain regular expresion implementation.
Diffstat (limited to 'include/PosRegExp.h')
-rw-r--r--include/PosRegExp.h138
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 */