"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "scintilla/src/RESearch.h" between
geany-1.35.tar.bz2 and geany-1.36.tar.bz2

About: Geany is a text editor (using GTK2) with basic features of an integrated development environment (syntax highlighting, code folding, symbol name auto-completion, ...).

RESearch.h  (geany-1.35.tar.bz2):RESearch.h  (geany-1.36.tar.bz2)
skipping to change at line 14 skipping to change at line 14
**/ **/
// Written by Neil Hodgson <neilh@scintilla.org> // Written by Neil Hodgson <neilh@scintilla.org>
// Based on the work of Ozan S. Yigit. // Based on the work of Ozan S. Yigit.
// This file is in the public domain. // This file is in the public domain.
#ifndef RESEARCH_H #ifndef RESEARCH_H
#define RESEARCH_H #define RESEARCH_H
namespace Scintilla { namespace Scintilla {
/*
* The following defines are not meant to be changeable.
* They are for readability only.
*/
#define MAXCHR 256
#define CHRBIT 8
#define BITBLK MAXCHR/CHRBIT
class CharacterIndexer { class CharacterIndexer {
public: public:
virtual char CharAt(Sci::Position index) const=0; virtual char CharAt(Sci::Position index) const=0;
virtual ~CharacterIndexer() { virtual ~CharacterIndexer() {
} }
}; };
class RESearch { class RESearch {
public: public:
explicit RESearch(CharClassify *charClassTable); explicit RESearch(CharClassify *charClassTable);
// No dynamic allocation so default copy constructor and assignment opera tor are OK. // No dynamic allocation so default copy constructor and assignment opera tor are OK.
~RESearch(); ~RESearch();
void Clear(); void Clear();
void GrabMatches(const CharacterIndexer &ci); void GrabMatches(const CharacterIndexer &ci);
const char *Compile(const char *pattern, Sci::Position length, bool caseS ensitive, bool posix); const char *Compile(const char *pattern, Sci::Position length, bool caseS ensitive, bool posix);
int Execute(const CharacterIndexer &ci, Sci::Position lp, Sci::Position e ndp); int Execute(const CharacterIndexer &ci, Sci::Position lp, Sci::Position e ndp);
enum { MAXTAG=10 }; enum { MAXTAG=10 };
enum { MAXNFA=4096 };
enum { NOTFOUND=-1 }; enum { NOTFOUND=-1 };
Sci::Position bopat[MAXTAG]; Sci::Position bopat[MAXTAG];
Sci::Position eopat[MAXTAG]; Sci::Position eopat[MAXTAG];
std::string pat[MAXTAG]; std::string pat[MAXTAG];
private: private:
enum { MAXNFA = 4096 };
// The following enums are not meant to be changeable.
// They are for readability only.
enum { MAXCHR = 256 };
enum { CHRBIT = 8 };
enum { BITBLK = MAXCHR / CHRBIT };
void ChSet(unsigned char c); void ChSet(unsigned char c);
void ChSetWithCase(unsigned char c, bool caseSensitive); void ChSetWithCase(unsigned char c, bool caseSensitive);
int GetBackslashExpression(const char *pattern, int &incr); int GetBackslashExpression(const char *pattern, int &incr);
Sci::Position PMatch(const CharacterIndexer &ci, Sci::Position lp, Sci::P osition endp, char *ap); Sci::Position PMatch(const CharacterIndexer &ci, Sci::Position lp, Sci::P osition endp, char *ap);
Sci::Position bol; Sci::Position bol;
Sci::Position tagstk[MAXTAG]; /* subpat tag stack */ Sci::Position tagstk[MAXTAG]; /* subpat tag stack */
char nfa[MAXNFA]; /* automaton */ char nfa[MAXNFA]; /* automaton */
int sta; int sta;
 End of changes. 3 change blocks. 
9 lines changed or deleted 8 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)