added: Patterns class (in templates)

ezc patterns are managed by this class
added: some work in groupitem plugin (not finished yet)
changed: ConfParser can read a string from memory now
         (need some testing yet)



git-svn-id: svn://ttmath.org/publicrep/winix/trunk@757 e52654a7-88a9-db11-a3e9-0013d4bc506e
This commit is contained in:
2011-08-25 23:53:49 +00:00
parent ee6500ac65
commit 5b8a9c0108
46 changed files with 2896 additions and 1715 deletions

View File

@@ -154,6 +154,18 @@ public:
Status Parse(const wchar_t * file_name);
Status Parse(const std::wstring & file_name);
/*
the main methods used to parse
str - input string (either 8bit ascii or UTF-8)
*/
Status ParseString(const char * str);
Status ParseString(const std::string & str);
// here input string is always in unicode
Status ParseString(const wchar_t * str);
Status ParseString(const std::wstring & str);
/*
a number of a line in which there is a syntax_error
@@ -276,6 +288,26 @@ public:
private:
/*
true if Parse() method was called
false if ParseString() was called
*/
bool reading_from_file;
/*
pointers to the current character
if ParseString() is in used
*/
const char * pchar_ascii;
const wchar_t * pchar_unicode;
/*
true if ParseString(wchar_t *) or ParseString(std::wstring&) is used
*/
bool reading_from_wchar_string;
/*
last read variable (option)
*/
@@ -392,6 +424,9 @@ private:
int ReadUTF8Char();
int ReadASCIIChar();
int ReadCharFromWcharString();
int ReadCharFromUTF8String();
int ReadCharFromAsciiString();
int ReadChar();
bool IsWhite(int c);
bool IsVariableChar(int c);