|
|
|
@@ -64,17 +64,17 @@ void PatternParser::Directory(const char * dir, const char * dir2)
|
|
|
|
|
directory2.clear();
|
|
|
|
|
|
|
|
|
|
if( dir )
|
|
|
|
|
PT::UTF8ToWide(dir, directory);
|
|
|
|
|
pt::UTF8ToWide(dir, directory);
|
|
|
|
|
|
|
|
|
|
if( dir2 )
|
|
|
|
|
PT::UTF8ToWide(dir2, directory2);
|
|
|
|
|
pt::UTF8ToWide(dir2, directory2);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void PatternParser::Directory(const std::string & dir)
|
|
|
|
|
{
|
|
|
|
|
PT::UTF8ToWide(dir, directory);
|
|
|
|
|
pt::UTF8ToWide(dir, directory);
|
|
|
|
|
directory2.clear();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -82,8 +82,8 @@ void PatternParser::Directory(const std::string & dir)
|
|
|
|
|
|
|
|
|
|
void PatternParser::Directory(const std::string & dir, const std::string & dir2)
|
|
|
|
|
{
|
|
|
|
|
PT::UTF8ToWide(dir, directory);
|
|
|
|
|
PT::UTF8ToWide(dir2, directory2);
|
|
|
|
|
pt::UTF8ToWide(dir, directory);
|
|
|
|
|
pt::UTF8ToWide(dir2, directory2);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -126,16 +126,16 @@ void PatternParser::SetBlocks(Blocks & blocks)
|
|
|
|
|
|
|
|
|
|
void PatternParser::SetCommentary(const char * com_start, const char * com_stop)
|
|
|
|
|
{
|
|
|
|
|
PT::UTF8ToWide(com_start, commentary_start);
|
|
|
|
|
PT::UTF8ToWide(com_stop, commentary_stop);
|
|
|
|
|
pt::UTF8ToWide(com_start, commentary_start);
|
|
|
|
|
pt::UTF8ToWide(com_stop, commentary_stop);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void PatternParser::SetCommentary(const std::string & com_start, const std::string & com_stop)
|
|
|
|
|
{
|
|
|
|
|
PT::UTF8ToWide(com_start, commentary_start);
|
|
|
|
|
PT::UTF8ToWide(com_stop, commentary_stop);
|
|
|
|
|
pt::UTF8ToWide(com_start, commentary_start);
|
|
|
|
|
pt::UTF8ToWide(com_stop, commentary_stop);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -161,7 +161,7 @@ void PatternParser::SetProgramMode(bool program_mode)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void PatternParser::SetLogger(PT::Log * log)
|
|
|
|
|
void PatternParser::SetLogger(pt::Log * log)
|
|
|
|
|
{
|
|
|
|
|
this->log = log;
|
|
|
|
|
}
|
|
|
|
@@ -195,7 +195,7 @@ void PatternParser::ParseFile(const std::string & file_name, Pattern & pattern)
|
|
|
|
|
void PatternParser::ParseFile(const char * file_name, Pattern & pattern)
|
|
|
|
|
{
|
|
|
|
|
pat = &pattern;
|
|
|
|
|
PT::UTF8ToWide(file_name, pat->item_root.file_name);
|
|
|
|
|
pt::UTF8ToWide(file_name, pat->item_root.file_name);
|
|
|
|
|
include_level = 0;
|
|
|
|
|
|
|
|
|
|
CreateTreeReadIncludeSkipAllowFlag(pat->item_root);
|
|
|
|
@@ -225,7 +225,7 @@ void PatternParser::ParseFile(const wchar_t * file_name, Pattern & pattern)
|
|
|
|
|
|
|
|
|
|
void PatternParser::ParseString(const char * str, Pattern & pattern)
|
|
|
|
|
{
|
|
|
|
|
PT::UTF8ToWide(str, string_content);
|
|
|
|
|
pt::UTF8ToWide(str, string_content);
|
|
|
|
|
ParseString(string_content.c_str(), pattern);
|
|
|
|
|
string_content.clear();
|
|
|
|
|
}
|
|
|
|
@@ -372,7 +372,7 @@ bool PatternParser::ReadFileFromDir(const std::wstring & dir, const wchar_t * na
|
|
|
|
|
file_name = dir;
|
|
|
|
|
file_name += '/';
|
|
|
|
|
file_name += name;
|
|
|
|
|
PT::WideToUTF8(file_name, afile_name);
|
|
|
|
|
pt::WideToUTF8(file_name, afile_name);
|
|
|
|
|
|
|
|
|
|
std::ifstream file(afile_name.c_str());
|
|
|
|
|
|
|
|
|
@@ -386,9 +386,9 @@ bool PatternParser::ReadFileFromDir(const std::wstring & dir, const wchar_t * na
|
|
|
|
|
if( log )
|
|
|
|
|
{
|
|
|
|
|
if( include_level <= 1 )
|
|
|
|
|
(*log) << PT::Log::log4 << "Ezc: reading pattern: " << afile_name << PT::Log::logend;
|
|
|
|
|
(*log) << pt::Log::log4 << "Ezc: reading pattern: " << afile_name << pt::Log::logend;
|
|
|
|
|
else
|
|
|
|
|
(*log) << PT::Log::log4 << " including pattern: " << afile_name << PT::Log::logend;
|
|
|
|
|
(*log) << pt::Log::log4 << " including pattern: " << afile_name << pt::Log::logend;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
ReadFile(file, result);
|
|
|
|
@@ -403,7 +403,7 @@ return true;
|
|
|
|
|
|
|
|
|
|
void PatternParser::ReadFile(std::ifstream & file, std::wstring & result)
|
|
|
|
|
{
|
|
|
|
|
PT::UTF8ToWide(file, result);
|
|
|
|
|
pt::UTF8ToWide(file, result);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -935,7 +935,7 @@ bool PatternParser::CreateTreeCheckProgramDirective(Item & item)
|
|
|
|
|
{
|
|
|
|
|
const wchar_t * old_itext = itext;
|
|
|
|
|
|
|
|
|
|
if( PT::is_substr_nc(L"if", itext) )
|
|
|
|
|
if( pt::is_substr_nc(L"if", itext) )
|
|
|
|
|
{
|
|
|
|
|
itext += 2;
|
|
|
|
|
SkipWhite();
|
|
|
|
@@ -948,7 +948,7 @@ bool PatternParser::CreateTreeCheckProgramDirective(Item & item)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if( PT::is_substr_nc(L"while", itext) )
|
|
|
|
|
if( pt::is_substr_nc(L"while", itext) )
|
|
|
|
|
{
|
|
|
|
|
itext += 5;
|
|
|
|
|
SkipWhite();
|
|
|
|
@@ -1042,7 +1042,7 @@ void PatternParser::CreateTreeReadInclude(Item & item)
|
|
|
|
|
{
|
|
|
|
|
if( log )
|
|
|
|
|
{
|
|
|
|
|
(*log) << PT::Log::log2 << "Ezc: \"include\" directive is not allowed" << PT::Log::logend;
|
|
|
|
|
(*log) << pt::Log::log2 << "Ezc: \"include\" directive is not allowed" << pt::Log::logend;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@@ -1059,7 +1059,7 @@ void PatternParser::CreateTreeReadIncludeSkipAllowFlag(Item & item)
|
|
|
|
|
{
|
|
|
|
|
if( log )
|
|
|
|
|
{
|
|
|
|
|
(*log) << PT::Log::log1 << "Ezc: \"include\" directive has reached the maximum level" << PT::Log::logend;
|
|
|
|
|
(*log) << pt::Log::log1 << "Ezc: \"include\" directive has reached the maximum level" << pt::Log::logend;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return;
|
|
|
|
@@ -1095,7 +1095,7 @@ void PatternParser::CreateTreeReadIf(Item & item)
|
|
|
|
|
{
|
|
|
|
|
SkipWhite();
|
|
|
|
|
|
|
|
|
|
if( PT::is_substr_nc(L"else", itext) )
|
|
|
|
|
if( pt::is_substr_nc(L"else", itext) )
|
|
|
|
|
{
|
|
|
|
|
itext += 4;
|
|
|
|
|
pitem = item.AddItem();
|
|
|
|
|