]>
git.saurik.com Git - wxWidgets.git/blob - src/stc/scintilla/src/RESearch.h
ef8c3e11b2ddac9afbc8bc5f2f1d68f2ee77e62e
1 // Scintilla source code edit control
3 ** Interface to the regular expression search library.
5 // Written by Neil Hodgson <neilh@scintilla.org>
6 // Based on the work of Ozan S. Yigit.
7 // This file is in the public domain.
17 * The following defines are not meant to be changeable.
18 * They are for readability only.
22 #define BITBLK MAXCHR/CHRBIT
24 class CharacterIndexer
{
26 virtual char CharAt(int index
)=0;
27 virtual ~CharacterIndexer() {
34 RESearch(CharClassify
*charClassTable
);
36 bool GrabMatches(CharacterIndexer
&ci
);
37 const char *Compile(const char *pattern
, int length
, bool caseSensitive
, bool posix
);
38 int Execute(CharacterIndexer
&ci
, int lp
, int endp
);
39 int Substitute(CharacterIndexer
&ci
, char *src
, char *dst
);
52 void ChSet(unsigned char c
);
53 void ChSetWithCase(unsigned char c
, bool caseSensitive
);
54 int GetBackslashExpression(const char *pattern
, int &incr
);
56 int PMatch(CharacterIndexer
&ci
, int lp
, int endp
, char *ap
);
59 int tagstk
[MAXTAG
]; /* subpat tag stack */
60 char nfa
[MAXNFA
]; /* automaton */
62 unsigned char bittab
[BITBLK
]; /* bit table for CCL pre-set bits */
64 CharClassify
*charClass
;
65 bool iswordc(unsigned char x
) {
66 return charClass
->IsWord(x
);