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.
13 * The following defines are not meant to be changeable.
14 * They are for readability only.
18 #define BITBLK MAXCHR/CHRBIT
20 class CharacterIndexer
{
22 virtual char CharAt(int index
)=0;
32 bool GrabMatches(CharacterIndexer
&ci
);
34 void ChSetWithCase(char c
, bool caseSensitive
);
35 const char *Compile(const char *pat
, int length
, bool caseSensitive
, bool posix
);
36 int Execute(CharacterIndexer
&ci
, int lp
, int endp
);
37 void ModifyWord(char *s
);
38 int Substitute(CharacterIndexer
&ci
, char *src
, char *dst
);
49 int PMatch(CharacterIndexer
&ci
, int lp
, int endp
, char *ap
);
52 int tagstk
[MAXTAG
]; /* subpat tag stack..*/
53 char nfa
[MAXNFA
]; /* automaton.. */
55 char bittab
[BITBLK
]; /* bit table for CCL */